Rails Rails 中能把 created_at, updated_at 字段名字改了吗?

wl1991724 · 2015年06月12日 · 最后由 zlx_star 回复于 2015年06月12日 · 3070 次阅读

RT,公司用的两套系统,一套是 javaweb,一套是 ruby,javaweb 先写的,字段名字是 create_time,update_time,不能重新改名,能把 rails 中的 created_at 改了吗?

@realwol 请教一下怎么改?Rails 会自己维护 created_at 字段,改了还会自己维护吗?

4 楼 已删除

@billy 定义这样一个方法,然后插入的时候调用吗?

monkey patch ActiveRecord::Timestamp 的 timestamp_attributes_for_create / timestamp_attributes_for_update 方法

https://github.com/rails/rails/blob/master/activerecord/lib/active_record/timestamp.rb#L93

将 [:created_at, :created_on] 替换成 [:create_time]

最省心的办法加个 callback

after_commit do 
  # 同步 created_at 和 create_time, updated_at 和 updated_time
end

@wl1991724 不好意思,我刚才弄反了。最好不要搞这些,问题太多了。两套系统同时用一个数据库也是问题,太多坑了。

@42thcoder 怎么写啊?刚学 Rails 一周,很多地方不会啊

@billy 公司本来用 java 做的,但是 java 做 web 速度远没有 Rails 快,公司内部的系统用的人少,并发低,所以决定用 Rails 了,导致了两个系统同时用一个数据库。

#7 楼 @42thcoder 你这是最不省心的办法

12 楼 已删除

虽然不推荐,但是为了配合大 JAVA,估计你只能这么做了。monkey patch 在此

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