为什么数据库之间的关系不属于迁移文件?

时间:2015-08-28 01:06:40

标签: ruby-on-rails ruby ruby-on-rails-4

我使用迁移文件来设置数据库结构。 这非常方便,因为我不受限于特定类型的数据库(mysql,sql,...)

如果我想在不同的表之间建立关系,我必须使用关联has_to,belongs_to 在模型文件中

我不懂。现在,您不能仅仅从此处回滚数据库的迁移。不,您还必须手动修改模型文件。

他们为什么选择这个设计理念?

1 个答案:

答案 0 :(得分:1)

迁移用于更改数据库的状态,而不是用于更改模型的行为。

  

我不懂。现在,您不能仅仅从此处回滚数据库的迁移。不,您还必须手动修改模型文件。

你当然可以。您必须修改模型/控制器/视图代码以使用任何迁移的更改到数据库,关联或其他方式。有什么大不了的?如果不是通过更改应用程序代码,您还将如何消费您对数据库所做的更改?

您的应用程序代码始终将与数据库的状态绑定。迁移不应该让你与此隔离。