Rails里的Magic Column Names

本文介绍了ActiveRecord中一些特殊的列名及其作用:如created_at、updated_at等用于自动记录时间戳;lock_version用于实现乐观锁;type用于单表继承;id作为默认主键;xxx_id作为默认外键;xxx_count用于计数器缓存;position用于标识列表位置;parent_id则用于树形结构。这些字段为Rails应用提供了便捷的功能。
Active Record有一些富有“魔力”的列名:

[color=red][b]created_at, created_on, updated_at, updated_on[/b][/color]
在create或者update一行时Rails对_at形式的列用timestamp自动更新,对_on形式的列用date自动更新

[color=red][b]lock_version[/b][/color]
如果一个表有lock_version这个列,则Rails会跟踪一行的版本号并执行乐观锁

[color=red][b]type[/b][/color]
单表继承时跟踪一行的type

[color=red][b]id[/b][/color]
表的默认主键名

[color=red][b]xxx_id[/b][/color]
对以复数形式的xxx命名的表的引用的默认外键名

[color=red][b]xxx_count[/b][/color]
对子表xxx维护一个计数器cache

[color=red][b]position[/b][/color]
acts_as_list时用来表示一个list中该行的position

[color=red][b]parent_id[/b][/color]
acts_as_tree时用来表示该行的parent的id
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值