【发布时间】:2016-02-26 01:02:22
【问题描述】:
我有一个小的 Ruby on Rails 应用程序,但我在创建模型时犯了一个错误,等等。
我怎样才能完全删除它的数据库?不重置迁移或删除其表,而是删除所有与数据库相关的文件? (schema.rb等)
【问题讨论】:
标签: ruby-on-rails ruby database ruby-on-rails-3 rake
我有一个小的 Ruby on Rails 应用程序,但我在创建模型时犯了一个错误,等等。
我怎样才能完全删除它的数据库?不重置迁移或删除其表,而是删除所有与数据库相关的文件? (schema.rb等)
【问题讨论】:
标签: ruby-on-rails ruby database ruby-on-rails-3 rake
删除数据库
rake db:drop
然后用于创建数据库
rake db:create
迁移
rake db:migrate
种子
rake db:seed
【讨论】:
删除这些文件不会从您的系统中删除数据库。你永远不应该删除你的schema.rb,因为它包含你的数据库结构。 (并且不是数据库记录本身。)如果您只是创建一个新模型,Rails 不会自动创建数据库表(迁移就是这样做的)。
如果您仍想删除整个数据库(结构和数据),这是您需要的命令(在调用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 环境执行相同的操作。
【讨论】: