重构 改了模型,页面跟着改的问题

jiffies · 2012年04月06日 · 最后由 zlx_star 回复于 2012年06月20日 · 3026 次阅读

我更改了一张表的一个 column 的 name, 现在对应到之前的页面里许多地方都要改了,请问这种情况怎么办? 再 model 里对应虚拟属性还是?

所以要写测试嘛。 不然就只能忐忑的用项目查找替换

#1 楼 @huacnlee 啊,高手来啦,之前好像看过虚拟属性应该可以对应一个属性到表中一个 column。应该可以解决,就是心里会不爽。有没有什么其他好方法呢?

另外 ruby-china 里很多求助贴(我发了好多,哈哈)。感觉有没有要一个已解决这种功能,不用手动修改标题了,

这个还算好的。 我还改过核心表的名字呢。 不止是改表名, 还要把所有对应链接到的表里面 xxx_id 改成 ttt_id, 还有文字上面全部都要改, 翻译也要改。

不过真改起来挺快的, grep 出来需要改的地方, 写 rename_column, 然后 grep 替换所有的文字, 用版本控制看一遍改动 check 一下。 就成了。

@huacnlee 能否分享一下页面的测试怎么写阿? 平时都是验收 +controller+model 的测试,还没写过 view 的测试。因为 view 的变化太频繁,测试很难维护。

#4 楼 @Jeweller_Tsai 测试我也是初学者

学 ruby 时间不长,但是深刻感觉在 ror 中数据表很重要,一个好的表设计不但能有效提升系统性能,也能帮助代码可读性。rails 里面提供了很多方式来处理数据库和 model 的对应,个人感觉不到万不得已,坚决不去修改表字段名。你一定能在 rails 里面找到合适的替代方案,比如说重写 rw 方法。

另外,请假一些测试的问题。由于公司系统原先没有测试,现在系统庞大了,增加测试很困难。 对于一个基于 ror 的系统,增加测试的维护成本高不高,是否单元测试,功能测试,集成测试都需要,如果都需要,是否每次增加一个功能都需要增加很多测试,是否大大增加了编码难度

改了模型再改列这是多正常的一件事儿啊 替换!虚拟属性只会增加其他人的维护成本

#6 楼 @zlx_star 模型测试,功能测试测主要的即可。有时间再慢慢加上。

@hooopo 也许是我理解有出入,我以为是单纯需要修改数据库列名,因为名字不直观之类的。如果是模型修改了,那自然是需要修改数据表的,否则不是为以后为自己找麻烦嘛。 另外,大家是怎么在 @ 之前加上楼层的啊?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册