rails 5 db:reset 不工作
rails 5 db:reset not working
我想重置我的 rails 5 项目的数据库,但是 rails db:reset
命令不起作用。
错误信息:
Permission denied @ unlink_internal - C:/sites5/dawnrebirth/db/development.sqlite3
Couldn't drop database 'db/development.sqlite3'
rails aborted!
Errno::EACCES: Permission denied @ unlink_internal - C:/sites5/dawnrebirth/db/development.sqlite3
bin/rails:4:in `require'
bin/rails:4:in `<main>'
Tasks: TOP => db:drop:_unsafe
(See full trace by running task with --trace)
看起来 rails 试图删除文件但没有成功。
检查以下内容:
- 您的应用 运行正在连接并连接到数据库文件吗? — 在执行
rake db:reset
. 之前终止应用程序
- 是否有其他进程(例如数据库查看器)连接到数据库文件? — 同上,重启前终止。
- 在最坏的情况下(您无法确定是什么阻止了文件),重新启动后立即
rake db:reset
很有可能 运行 成功。
通常当 rake db:reset
不 运行 或为我工作时,我只是删除 development.sqlite3 和 schema.rb 文件并重新 运行 rake db:migrate
命令重新生成两个文件。但请注意切勿在生产环境中尝试此操作。
当你做 rake db:reset 时,它是 运行 db:drop 和 db:setup 的顺序。
1.Maybe 您需要停止 Rails 服务器和控制台。
2.A重启也可能解决问题。
我被告知要添加我对 rails 5 的输入作为答案,所以根据要求...
首先,停止 rails 服务器。
其次,运行这3条命令...
rails db:drop
rails db:schema:load
rails db:reset
我讨厌翻阅文件,所以这对我来说比删除一些文件更容易、更快。警告:无论您是否使用我的修复程序 - 始终每天在某个地方备份您的架构(例如使用回购系统...github/bitbucket)。
我相信 'rake' 可以代替 rails 用于 rails 5 之前的版本,但还没有测试回 rails 3 或 2。
正如@govind-shaw 所说...无论哪种方式,您都必须停止 rails 服务器并重新启动它。
试试 rails db:drop:_unsafe
看看 https://github.com/rails/rails/issues/31589
我想重置我的 rails 5 项目的数据库,但是 rails db:reset
命令不起作用。
错误信息:
Permission denied @ unlink_internal - C:/sites5/dawnrebirth/db/development.sqlite3
Couldn't drop database 'db/development.sqlite3'
rails aborted!
Errno::EACCES: Permission denied @ unlink_internal - C:/sites5/dawnrebirth/db/development.sqlite3
bin/rails:4:in `require'
bin/rails:4:in `<main>'
Tasks: TOP => db:drop:_unsafe
(See full trace by running task with --trace)
看起来 rails 试图删除文件但没有成功。 检查以下内容:
- 您的应用 运行正在连接并连接到数据库文件吗? — 在执行
rake db:reset
. 之前终止应用程序
- 是否有其他进程(例如数据库查看器)连接到数据库文件? — 同上,重启前终止。
- 在最坏的情况下(您无法确定是什么阻止了文件),重新启动后立即
rake db:reset
很有可能 运行 成功。
通常当 rake db:reset
不 运行 或为我工作时,我只是删除 development.sqlite3 和 schema.rb 文件并重新 运行 rake db:migrate
命令重新生成两个文件。但请注意切勿在生产环境中尝试此操作。
当你做 rake db:reset 时,它是 运行 db:drop 和 db:setup 的顺序。
1.Maybe 您需要停止 Rails 服务器和控制台。
2.A重启也可能解决问题。
我被告知要添加我对 rails 5 的输入作为答案,所以根据要求...
首先,停止 rails 服务器。
其次,运行这3条命令...
rails db:drop
rails db:schema:load
rails db:reset
我讨厌翻阅文件,所以这对我来说比删除一些文件更容易、更快。警告:无论您是否使用我的修复程序 - 始终每天在某个地方备份您的架构(例如使用回购系统...github/bitbucket)。
我相信 'rake' 可以代替 rails 用于 rails 5 之前的版本,但还没有测试回 rails 3 或 2。
正如@govind-shaw 所说...无论哪种方式,您都必须停止 rails 服务器并重新启动它。
试试 rails db:drop:_unsafe
看看 https://github.com/rails/rails/issues/31589