【发布时间】:2012-12-29 11:23:12
【问题描述】:
许多 Rails 教程将 ActiveRecord 关联的设置描述为需要建立外键的数据库迁移(例如,使用 has_many/belongs_to 关系)。然而其他文档似乎完全省略了迁移部分,只是更新模型、嵌套路由等。
迁移是否总是需要将两种资源绑定在一起,还是仅对某些类型的关联有必要?
【问题讨论】:
标签: ruby-on-rails activerecord migration
许多 Rails 教程将 ActiveRecord 关联的设置描述为需要建立外键的数据库迁移(例如,使用 has_many/belongs_to 关系)。然而其他文档似乎完全省略了迁移部分,只是更新模型、嵌套路由等。
迁移是否总是需要将两种资源绑定在一起,还是仅对某些类型的关联有必要?
【问题讨论】:
标签: ruby-on-rails activerecord migration
相关的表之间必须始终有外键,例如:如果您有两个模型User和Task,则需要存储任务属于哪个用户,因此您始终需要外键关系,您可以在不需要迁移的情况下在数据库中手动创建它们,但这是一种非常糟糕的做法,因为迁移提供回滚,并且在您与其他人在同一项目中工作时必不可少。
【讨论】:
是的,它是创建关联的必要条件。但是在某处我看到了仅为模型中的注释 has_many/belongs_to 属性创建关联的 gem。
【讨论】: