$ bundle exec rake db:reset命令raise不能删除db / development.sqlite3

我试图运行$ bundle exec rake db:reset并在控制台上找到以下内容

 Couldn't drop 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:dropdb:setup 。 您的错误消息表明无法删除db/development.sqlite

如果你在Windows上,也许你需要停止你的Rails服务器和控制台。 否则,找出阻止文件被删除的内容。 这可能是许可问题。 重启也可以解决问题。

我知道这是一个旧post,但我刚遇到这个问题(Windows继续sqlite3问题),在重启,关闭命令行,停止服务器不起作用时,我确实设法通过实际运行每个来解决它顺序上面提到的命令htanta:1。bundle exec rake db:drop 2. bundle exec rake db:create 3. bundle exec rake db:migrate

如果db:reset只是这些命令,我​​不明白为什么它不起作用,但各个命令呢?

一直在努力解决同样的问题。 在Windows上停止Rails服务器没有帮助,但重新启动整个环境就行了,捆绑exec rake db:reset完成了,但是请确保在此之前不启动服务器,因为它会调用相同的错误。 继续

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

然后启动Rails服务器。

另一个可能的答案是您打开了一个数据库文件。 关闭这些文件并停止服务器,它应该工作。

对于删除整个数据库,只需给rake db:setup drop,然后再为你创建数据库