$ 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
Как я могу его решить?
Изменить. Я следил за учебным пособием, и он говорит мне запустить приведенную выше команду для безопасного удаления всех данных из базы данных. И я также использую учетную запись администратора.
Ответы
Ответ 1
Когда вы выполняете db:reset
, он последовательно запускает db:drop
и db:setup
. Ваше сообщение указывает, что db/development.sqlite
не удалось удалить.
Если вы работаете в Windows, возможно, вам нужно остановить сервер Rails и консоль. В противном случае выясните, что мешает удалению файла. Это может быть проблема разрешения. Перезагрузка также может решить проблему.
Ответ 2
Я знаю, что это старый пост, но у меня была эта проблема (проблемы с sqlite3 в Windows), а при перезагрузке, закрытии командной строки и остановке сервера это не сработало, мне удалось решить эту проблему фактически запуская каждую из упомянутых выше команд htanta последовательно:
1. bundle exec rake db: drop
2. bundle exec rake db: create
3. bundle exec rake db: migrate
Если db: reset - это только эти команды, я не понимаю, почему это не работает, но отдельные команды делают?
Ответ 3
Были попытки решить ту же проблему. Остановка сервера Rails в Windows не помогла, но перезагрузка всей среды сделала трюк, пакет exec rake db: reset прошел, но не забудьте запустить сервер до этого, поскольку он будет вызывать ту же ошибку.
Продолжить с помощью
$ bundle exec rake db:reset
$ bundle exec rake db:populate
$ bundle exec rake test:prepare
и после этого запустите Rails Server.
Ответ 4
Еще один возможный ответ - открыть файл базы данных. Закройте эти файлы и остановите свой сервер, и он должен работать.
Ответ 5
Для удаления всей базы данных просто введите rake db: настройка снижается и снова создает для вас базу данных