ruby-on-rails - 删除 Rails 中过去的迁移

标签 ruby-on-rails ruby-on-rails-3 rails-migrations

自从我的 rails 应用程序开始以来,我创建了相当多的迁移。其中一些仅用于测试目的。我现在有很多完全没用的迁移(例如:在迁移中创建一个表并在下一个中删除它)。

随着 db:migrate 运行后 schema.rb 得到更新,是否可以删除所有迁移并从 schema.rb 的实际内容开始?

最佳答案

是的,您可以(并且可能应该)删除旧的迁移。有时您的旧迁移可能不再有效,因为您的模型代码将取决于您的架构的更高版本。

因此,请务必删除迁移(您将它们置于源代码控制之下,对吗?),然后使用

rake db:schema:load

如果需要,初始化一个新数据库。

更新:Rails 指南现在有类似的说法:http://guides.rubyonrails.org/active_record_migrations.html#schema-dumping-and-you

关于ruby-on-rails - 删除 Rails 中过去的迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10122772/

相关文章:

ruby-on-rails - 从wrapbootstrap实现bootstrap主题

ruby-on-rails - 在 Rails 中清理迁移的好方法是什么?

mysql - 加载哑巴数据库并运行所有迁移

ruby-on-rails - 是 rake db :create and rake db:migrate idempotent?

ruby-on-rails - 如何将 2 个 Rails 模型混合到一个查找中?

ruby-on-rails - 跟踪用户愿望 list 上产品 Markdown 的方法?

ruby-on-rails-3 - 使用 Capybara/Rspec 测试登录

css - 为每个展示页面自定义颜色 - ruby​​ on rails

ruby-on-rails - rails 3.0.3 检查 bool 值是否为真

ruby-on-rails - 将 JSON 数据作为 post 方法从 Rails Controller 发送到 Web 服务