$ bundle exec rake db: reset повышение команды не может отбросить db/development.и sqlite3

Я пытался бежать $ bundle exec rake db:reset и нашел следующее на консоли

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

Как я могу решить это?

редактировать я следовал учебнику, и он говорит мне запустить вышеуказанную команду, чтобы безопасно удалить все данные из базы данных. И я также использую учетную запись администратора.

5 ответов


когда вы db:reset, он работает db:drop и db:setup в последовательности. Ваш сообщение об ошибке указывает, что db/development.sqlite не удалось удалить.

если вы находитесь в Windows, возможно, вам нужно остановить сервер Rails и консоль. В противном случае выясните, что препятствует удалению файла. Это может быть проблема с разрешением. Перезагрузка может решить проблему.


Я знаю, что это старый пост, но у меня просто была эта проблема (продолжение проблем sqlite3 с Windows), и при перезагрузке, закрытии командной строки и остановке сервера не сработало, мне удалось решить ее, фактически выполнив каждую из команд htanta, упомянутых выше последовательно: 1. пачка exec на грабли дБ:падение 2. bundle exec rake db: создать 3. bundle exec rake db:миграция

Если db: reset-это только эти команды, я не понимаю, почему это не работает, но отдельные команды делают?


пытались решить ту же проблему. Остановка сервера Rails на Windows не помогла, но перезапуск всей среды сделал трюк, bundle exec rake db: reset прошел, но не забудьте запустить свой сервер до этого, так как он вызовет ту же ошибку. Далее с

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

и запустите сервер Rails после этого.


другой возможный ответ заключается в том, что вы открываете файл базы данных. Закройте эти файлы и остановите сервер, и он должен работать.


для удаления всей базы данных просто дайте rake db: setup он падает и снова создает базу данных для вас