小编Nic*_*ckR的帖子

Ruby on Rails中模型设计的最佳实践

RoR教程为每个表提供一个模型,以便ORM工作.我的数据库模式有大约70个表在概念上划分为5组功能(例如,任何给定的表存在于一个且只有一个功能组中,并且不同组的表之间的关系被最小化.)因此:我应该为每个概念组设计一个模型,或者我应该简单地拥有70个Rails模型并让分组"概念化"?谢谢!

ruby activerecord ruby-on-rails

8
推荐指数
3
解决办法
4665
查看次数

在Ruby on Rails中使用迁移

我想确认以下分析是正确的:

我正在RoR中构建一个Web应用程序.我有一个我的postgres db设计的数据结构(大约70个表;这个设计可能需要在开发过程中进行更改和添加以反映Rails的处理方式.EG,我设计了一些用户和角色表 - 但是如果使用Restful是有意义的身份验证,我将擦除它们并替换RA所需的任何内容.)

我有一个shellcript,它调用一系列.sql文件来填充空数据库中的表和初始数据(例如,城镇预先填充了邮政城镇)以及测试数据(例如,公司得到一些虚拟公司所以我有数据可以玩).

例如:

CREATE TABLE towns (
  id         integer PRIMARY KEY DEFAULT nextval ('towns_seq'),
  county_id  integer REFERENCES counties ON DELETE RESTRICT ON UPDATE CASCADE,
  country_id integer REFERENCES countries ON DELETE RESTRICT ON UPDATE CASCADE NOT NULL,
  name       text    NOT NULL UNIQUE
);
Run Code Online (Sandbox Code Playgroud)

命题0:数据持续时间长于应用程序,因此我确信我希望在数据库级别强制执行参照完整性以及在我的RoR模型中进行验证,尽管缺少DRYNESS.

命题1:如果我用迁移替换脚本和sql文件,目前无法告诉我的Postgres数据库有关外键和我当前在迁移代码中的SQL DDL文件中设置的其他约束.

命题2:迁移的好处是对模式的更改与RoR模型代码一起进行了版本控制.但是如果我将我的脚本和.sql文件保存在railsapp/db中,我可以轻松地对它们进行版本控制.

命题3:鉴于迁移缺乏我想要的功能,并提供我可以复制的好处,我没有理由考虑使用它们.所以我应该在脚本/生成模型时间--skipmigrations.

我的问题:如果命题0被接受,命题1,2,3是真还是假,为什么?

谢谢!

ruby ruby-on-rails

2
推荐指数
1
解决办法
2568
查看次数

标签 统计

ruby ×2

ruby-on-rails ×2

activerecord ×1