$ 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 он падает и снова создает базу данных для вас