Rails:单个迁移应该做多少工作?

时间:2013-01-28 20:57:26

标签: ruby-on-rails coding-style rails-migrations

我必须在Rails应用程序中将外键添加到几个不同的表中。我是否更好地在一次迁移中添加所有密钥或进行多次单一用途迁移,每个表被更改一次?

3 个答案:

答案 0 :(得分:1)

一般来说,“几个单一用途的迁移”更好。确保您的迁移向上和向下运行。另外,您的迁移文件名应具有足够的描述性,以便第三方了解迁移的作用。

答案 1 :(得分:0)

当我进行迁移时,我会根据共同目的对更改进行分组。例如,如果我的应用程序的一个功能有3个更改而另一个功能有2个,我会将这些更改一起迁移,然后将这两个更改为另一个迁移。如果我需要进行回滚,那么将来我只会回滚与我正在处理的区域相关的更改。

答案 2 :(得分:0)

我认为,拆分迁移是否是一个让你的代码更清晰的问题。如果要添加多个外键是一个任务,那么在一次迁移中执行此操作。如果您的外键随附相关模型/控制器/视图的重大更改,则拆分它们可能会更加清晰,因此您可以跟踪哪个迁移属于应用程序其余部分中的哪些更改。

当您使用git(或类似的东西)时,在一次提交中绑定相应的更改可能会有所帮助。

从性能的角度来看,它没有什么区别。