新手问题 Rails 里面可以修改主键吗

nicetyler · 2017年05月31日 · 最后由 nicetyler 回复于 2017年05月31日 · 1623 次阅读

DBA 给我的 user 表,里面的主键用的是 person_id,让我适应它的表结构,我想问下修改主键的话对系统有影响吗,貌似 rails 公约里面的主键就是 id,我如果修改修改主键的话会不会带来不方便,还有怎么修改主键啊

可以,在 migration 里更改。会不会有影响跟你的系统本身有关

michael0015 回复

我现在用的是 id,我感觉要是改回什么 persion_id 的话很多地方都要改,我就是问下改了主键名以后对我整个应用影响大不大,是不是最好不要改

nicetyler 回复

不要用感觉来写代码,自己分析你的系统,如果修改会有什么变化,以及你为什么要修改主键。这些我帮不到你,需要你自己做出分析和结论

对了,如果这个数据库还有其他的系统在同时使用的话,强烈建议不要更改

michael0015 回复

那我是按照数据库管理员的数据库来吗,就是把主键改成 dba 的设计的主键

修改主键,关键看你的业务。如果觉得代码里用的不爽,可以 alias_attribute

tonyrisk 回复

好的谢谢,最后跟管理员商量了一下还是用 id 算了

这样的问题我的第一反应是去 Dash 里搜索关键字 primary

class User < ActiveRecord::Base
  self.primary_key = 'person_id'
end
mingyuan0715 回复

我是这样改的,但是总是报错,什么少了一个 id 属性,我跟 dba 说了然后还是直接用 id 算了,这个 rails 公约里面就是 id

nicetyler 关闭了讨论。 05月31日 14:51
需要 登录 后方可回复, 如果你还没有账号请 注册新账号