如何在 Rails 上完全删除 Ruby 上的数据库?
How to completely delete a DB on Ruby on Rails?
我在Rails app上有一个小Ruby,创建模型等等都出错了。
我怎样才能完全删除它的数据库?不是重置迁移或删除其表,而是删除所有与数据库相关的文件? (schema.rb
, 等)
删除这些文件不会从您的系统中删除数据库。你不应该删除你的 schema.rb
因为它保存着你的数据库的结构。 (而且 不是 数据库自己记录。)如果您只是创建了一个新模型,Rails 不会自动创建一个数据库 table(迁移就是这样做的)。
如果您仍想删除整个数据库(结构和数据),这是您需要的命令(在调用rake -T
时找到)
rake db:drop # Drops the database from DATABASE_URL or
# config/database.yml for the current RAILS_ENV
# (use db:drop:all to drop all databases)
默认情况下,未设置RAILS_ENV
。如果您在此状态下调用 rake db:drop
,将删除与此应用程序 关联的所有数据库 。为了下降,比如说,只有发展:
export RAILS_ENV=development
rake db:drop
您可以对 test
和 production
环境执行相同的操作。
删除数据库
rake db:drop
然后创建数据库
rake db:create
对于迁移
rake db:migrate
种子
rake db:seed
我在Rails app上有一个小Ruby,创建模型等等都出错了。
我怎样才能完全删除它的数据库?不是重置迁移或删除其表,而是删除所有与数据库相关的文件? (schema.rb
, 等)
删除这些文件不会从您的系统中删除数据库。你不应该删除你的 schema.rb
因为它保存着你的数据库的结构。 (而且 不是 数据库自己记录。)如果您只是创建了一个新模型,Rails 不会自动创建一个数据库 table(迁移就是这样做的)。
如果您仍想删除整个数据库(结构和数据),这是您需要的命令(在调用rake -T
时找到)
rake db:drop # Drops the database from DATABASE_URL or
# config/database.yml for the current RAILS_ENV
# (use db:drop:all to drop all databases)
默认情况下,未设置RAILS_ENV
。如果您在此状态下调用 rake db:drop
,将删除与此应用程序 关联的所有数据库 。为了下降,比如说,只有发展:
export RAILS_ENV=development
rake db:drop
您可以对 test
和 production
环境执行相同的操作。
删除数据库
rake db:drop
然后创建数据库
rake db:create
对于迁移
rake db:migrate
种子
rake db:seed