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

jiffies · April 06, 2012 · Last by zlx_star replied at June 20, 2012 · 3517 hits

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

You need to Sign in before reply, if you don't have an account, please Sign up first.