据我所知,根据Rails的理念,数据完整性检查应该在应用程序级别而不是数据库级别完成.像许多其他开发人员一样,我热情地不同意.
我发现了很多关于解决这个问题的讨论,但它们似乎都很老了,令人沮丧的是,它们似乎指向了不同的解决方案.
我不得不想象在Rails 3中有一个事实上的标准方法来做外键约束.然而,无论它是什么(如果它确实存在)似乎被所有过去的讨论所扼杀,因为我找不到它.
Rails开发人员到目前为止主要与外键在同一页面上吗?如果是这样,我很想知道它们是如何处理的.
正是出于这个原因,我(以及编写Enterprise Rails的人 - http://oreilly.com/catalog/9780596515201)建议您在SQL中编写完整的上下迁移.
优点是:
有缺点:
但是,总的来说,我认为优点胜过劣势.
快速举例:
def self.up
execute <<EOS
create table .... (
....
);
EOS
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3699 次 |
| 最近记录: |