如何在db:schema:load之后进行db:migrate

时间:2011-09-23 11:39:33

标签: ruby-on-rails-3 migration

我有一个生产数据库,我准备

rake db:create db:schema:load db:seed

我还在交付产品时包含迁移,以便可以更新现有安装。

架构之后:仅加载最新迁移的版本存储在schema_migrations中,因此当我运行db:migrate时,迁移器会尝试运行尚未在schema_migrations中的所有其他迁移。

有一个很好的方法,处理这个,不需要我,崩溃迁移(因为这是不可能的 - 就像db:migrate作为准备步骤一样)?

1 个答案:

答案 0 :(得分:2)

请不要db:schema:加载,改为传递迁移:

rake db:create db:migrate db:seed

请记住,在大型/长期项目中,通过迁移是一种艰难的方式。你应该保持你的种子.rb更新并使用你的方式。由于项目渐进过程中的模型更改(对于旧迁移)不兼容,旧迁移往往会失败。