生成大型迁移有什么问题吗?

时间:2011-03-10 01:25:18

标签: ruby-on-rails migration

我只是坐下来想出了我想要的所有索引。我已经有7个模型,我意识到我想在数据库中添加14个索引。

这是我的第一个真正的Rails项目,我在指南中所做的迁移只针对一个模型。我没有看到任何指南明确地评论这种或那种方式 - 它是否被认为是每个模型进行一次迁移的最佳实践?或者限制迁移的规模和复杂性?

3 个答案:

答案 0 :(得分:1)

通常我会使迁移成为目标驱动的。没关系,如果它们很大,但大多数时候你想要它们很小。把它们想象成功能 - 小时候更容易理解。如果迁移过程中出现问题,较小的迁移也可以更容易地解决问题。

答案 1 :(得分:1)

迁移规模无关紧要。当您的开发完成后,您将使用

rake:db:schema:dump
RAILS_ENV=production rake db:schema:load

它会将所有内容放入一个简洁的文件中,用于重新创建生产数据库。

答案 2 :(得分:1)

对于大多数人来说,这可能是一个小问题,对某些人来说这是一个大问题。

我只是在清理一个项目的房子。我有一个未使用的模型。我高兴地执行了:

rails destroy scaffold LouseyModel  

......脚手架被拆除了。这也删除了原始迁移文件。我想如果你是一个保持一个动作==一个迁移文件的人,那么这不是问题,也是清理你的开发混乱的好方法。如果您喜欢手动编辑迁移并将多个内容添加到单个迁移文件中,那么这可能会导致db:setup和其他一些依赖于顺序迁移的db rake任务执行不需要的行为。