Подтвердить что ты не робот

$ 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

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

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

4b9b3361

Ответ 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: настройка снижается и снова создает для вас базу данных