抱歉,如果之前已经回答过这个问题,但我找不到明确的答案。
肯定有人在使用的时候遇到过这个问题upsert
您需要指定每一列,包括created_at
and updated_at
?
怎么才能不更新created_at
更新插入发生时的时间戳?我只想插入created_at
once.
a = User.upsert({
name: ....,
age: ....
created_at: DateTime.now,
updated_at: DateTime.now
}, unique_by: :upsert_user_index )
使用默认值更新现有表:
change_column :table_foos, :created_at, :datetime, null: false, default: -> { "CURRENT_TIMESTAMP" }
change_column :table_foos, :updated_at, :datetime, null: false, default: -> { "CURRENT_TIMESTAMP" }
使用默认值创建新表:
create_table :table_foos do |t|
# date with timestamp
t.datetime :last_something_at, null: false, default: -> { "CURRENT_TIMESTAMP" }
# standard timestamps
t.timestamps default: -> { "CURRENT_TIMESTAMP" }
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)