19

fallen konnte ich versucht $ bundle exec rake db:reset und fanden die folgende auf der Konsole

Couldn't drop db/development.sqlite3 : #<Errno::EACCES: Permission denied - c:/sample_app/db/development.sqlite3> 
db/development.sqlite3 already exists 
-- create_table("users", {:force=>true}) 
    -> 0.3940s 
-- add_index("users", ["email"], {:name=>"index_users_on_email", :unique=>true}) 

    -> 0.1280s 
-- initialize_schema_migrations_table() 
    -> 0.0010s 
-- assume_migrated_upto_version(20120419034627, ["c:/sample_app/db/migrate 
"]) 
    -> 0.0040s 

laufen Wie kann ich es lösen?

Bearbeiten Ich folgte einem Tutorial und es sagt mir, den obigen Befehl auszuführen, um alle Daten aus der Datenbank sicher zu löschen. Und ich benutze auch Admin-Konto.

+0

Überprüfen Sie dies. Dies wird hilfreich sein http://StackOverflow.com/Questions/4116067/Rails-how-to-recreate-the-Database – naren

+0

Danke für die Informationen, aber sie sprechen über die Befehle, aber ich habe den Befehl, der gibt die obige Fehlermeldung aus – WowBow

Antwort

41

Wenn Sie db:reset ausführen, werden nacheinander db:drop und db:setup ausgeführt. Ihr error message zeigt an, dass db/development.sqlite nicht gelöscht werden konnte.

Wenn Sie Windows verwenden, müssen Sie möglicherweise den Rails-Server und die Konsole stoppen. Stellen Sie andernfalls fest, was verhindert, dass die Datei gelöscht wird. Es könnte Berechtigungsproblem sein. Ein Neustart kann das Problem ebenfalls lösen.

+2

Ich habe alles neu gestartet, das Rails Ressource verwendet und alles ist jetzt in Ordnung. – WowBow

+3

Hatte das gleiche Problem, den Schienen Server zu stoppen war alles was ich tun musste. Vielen Dank! – Shawn

+0

diese Antwort ist korrekt! Ich hatte das gleiche Problem und stoppe den Server für eine Weile, damit der Befehl funktioniert. – muhnizar

1

Ich weiß, das ist ein alter Beitrag, aber ich hatte nur dieses Problem (Fortsetzung sqlite3 Probleme mit Windows), und während des Neustarts, Schließen der Befehlszeile, und das Stoppen des Servers hat nicht funktioniert, habe ich es zu lösen indem tatsächlich jedes der Befehle htanta oben sequentiell laufenden erwähnt: 1. Bündel exec rake db: DROP 2. Bündel exec rake db: 3. Bündel exec rake db erzeugen: migrieren

Wenn db: Reset nur diese ist Befehle sowieso, ich verstehe nicht, warum es nicht funktioniert, aber die einzelnen Befehle tun?

+0

siehe meinen Kommentar oben. Versuchen Sie 'db: migrate: reset', um alle diese Befehle auszuführen. –

+0

Danke, @grist. Das Aufbrechen der Befehle funktionierte, wenn nichts anderes passieren würde. – Jaime

1

Haben versucht, das gleiche Problem zu lösen. Das Stoppen von Rails Server unter Windows hat nicht geholfen, aber das Neustarten der ganzen Umgebung hat den Trick, Bundle exec rake db: reset, durchlaufen, aber sei dir sicher, deinen Server davor nicht zu starten, da es denselben Fehler aufrufen wird. Weiter mit

$ bundle exec rake db:reset 
$ bundle exec rake db:populate 
$ bundle exec rake test:prepare 

und starten Rails Server danach.

0

Eine andere mögliche Antwort ist, dass Sie eine Datenbankdatei geöffnet haben. Schließen Sie diese Dateien und stoppen Sie Ihren Server, und es sollte funktionieren.

0

Zum Löschen der gesamten Datenbank geben Sie einfach Rake db: Setup es fällt und erstellt erneut die Datenbank für Sie

Verwandte Themen