ruby-on-rails – $bundle exec rake db:reset command raise不能删除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

我该如何解决?

编辑我正在跟随一个教程,它告诉我运行上面的命令从数据库中安全地删除所有的数据。而且我也使用管理员帐号。

当您执行db:reset时,它依次运行db:drop和db:setup。您的error message表示db / development.sqlite无法删除。

如果您在Windows上,或许您需要停止Rails服务器和控制台。否则,弄清楚阻止文件被删除的内容。这可能是权限问题。重新启动也可以解决问题。

翻译自:https://stackoverflow.com/questions/10290557/bundle-exec-rake-dbreset-command-raising-couldnt-drop-db-development-sqlite3

转载注明原文:ruby-on-rails – $bundle exec rake db:reset command raise不能删除db/development.sqlite3