我更改了一张表的一个 column 的 name, 现在对应到之前的页面里许多地方都要改了,请问这种情况怎么办? 再 model 里对应虚拟属性还是?
这个还算好的。我还改过核心表的名字呢。不止是改表名,还要把所有对应链接到的表里面 xxx_id 改成 ttt_id,还有文字上面全部都要改,翻译也要改。
不过真改起来挺快的,grep 出来需要改的地方,写 rename_column, 然后 grep 替换所有的文字,用版本控制看一遍改动 check 一下。就成了。
@huacnlee 能否分享一下页面的测试怎么写阿?平时都是验收+controller+model 的测试,还没写过 view 的测试。因为 view 的变化太频繁,测试很难维护。
学 ruby 时间不长,但是深刻感觉在 ror 中数据表很重要,一个好的表设计不但能有效提升系统性能,也能帮助代码可读性。rails 里面提供了很多方式来处理数据库和 model 的对应,个人感觉不到万不得已,坚决不去修改表字段名。你一定能在 rails 里面找到合适的替代方案,比如说重写 rw 方法。
另外,请假一些测试的问题。由于公司系统原先没有测试,现在系统庞大了,增加测试很困难。 对于一个基于 ror 的系统,增加测试的维护成本高不高,是否单元测试,功能测试,集成测试都需要,如果都需要,是否每次增加一个功能都需要增加很多测试,是否大大增加了编码难度
@hooopo 也许是我理解有出入,我以为是单纯需要修改数据库列名,因为名字不直观之类的。如果是模型修改了,那自然是需要修改数据表的,否则不是为以后为自己找麻烦嘛。 另外,大家是怎么在@之前加上楼层的啊?