2016-08-27 7 views
5

Ich möchte die Datenbank meines Rails 5 Projekts zurücksetzen, aber der rails db:reset Befehl funktioniert nicht.Rails 5 db: Reset funktioniert nicht

Fehlernachricht:

Permission denied @ unlink_internal - C:/sites5/dawnrebirth/db/development.sqlite3 
Couldn't drop database 'db/development.sqlite3' 
rails aborted! 
Errno::EACCES: Permission denied @ unlink_internal - C:/sites5/dawnrebirth/db/development.sqlite3 
bin/rails:4:in `require' 
bin/rails:4:in `<main>' 
Tasks: TOP => db:drop:_unsafe 
(See full trace by running task with --trace) 

Antwort

12

Normalerweise, wenn rake db:reset nicht für mich laufen oder arbeiten, ich löschen Sie einfach den development.sqlite3 und schema.rb Dateien und wieder den rake db:migrate Befehl regenerieren beiden Dateien ausführen. Aber notieren Sie dies bitte niemals in einer Produktionsumgebung.

+0

Dies funktioniert für jetzt, thx – Max

0

Sieht aus wie Schienen versucht, die Datei zu löschen, aber nicht gelang. Überprüfen Sie Folgendes:

  • läuft Ihre App und ist sie mit der Datenbankdatei verbunden? - Beenden Sie die App vor der Ausführung rake db:reset.
  • ist ein anderer Prozess (z. B. ein Datenbank-Viewer) mit der Datenbankdatei verbunden? - Wie oben, beende es vor dem Zurücksetzen.
  • im schlimmsten Fall (Sie können nicht feststellen, was die Datei blockiert), eine rake db:reset sofort nach Neustart hat eine hohe Wahrscheinlichkeit erfolgreich ausgeführt werden.
0

Wenn Sie tun Rake db: zurücksetzen, es läuft db: drop und db: Setup in Folge.

1. Möglicherweise müssen Sie den Rails-Server und die Konsole stoppen.

2. Ein Neustart kann das Problem auch lösen.

1

Ich wurde gesagt, meine Eingabe für Schienen 5 als Antwort an, so auf Wunsch ...

zunächst die Schiene Server stoppen.

Zweitens laufen diese drei Befehle ...

rails db:drop 
rails db:schema:load 
rails db:reset 

ich durch Dateien hasse graben, so ist dies einfacher & für mich schneller als eine Datei löschen gehen. Vorbehalt: Ob Sie meinen Fix verwenden oder nicht - Sichern Sie Ihr Schema immer irgendwo am Tag (wie bei einem Reposystem ... github/bitbucket).

Ich glaube ‚Rake‘ kann 5, anstelle von Schienen für Versionen vor Schienen verwendet werden, sind aber nicht zurück auf Schienen 3 oder 2.

Als @ govind-shaw sagte getestet ... so oder so, Sie müssen den Rails-Server stoppen & starten Sie es erneut.

Verwandte Themen