gpt4 book ai didi

ruby-on-rails - 如何为日期时间列设置默认值以记录迁移中的创建时间?

转载 作者:行者123 更新时间:2023-12-03 04:43:35 25 4
gpt4 key购买 nike

考虑下面的表创建脚本:

create_table :foo do |t|
t.datetime :starts_at, :null => false
end

是否可以将默认值设置为当前时间?

我正在尝试在 Rails 中为下面给出的 SQL 列定义找到一个独立于数据库的等效项:

Oracle 语法

start_at DATE DEFAULT SYSDATE() 

MySQL 语法

start_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP

或者

start_at DATETIME DEFAULT NOW()

最佳答案

Rails 5 现在支持此功能。

这是一个示例迁移:

class CreatePosts < ActiveRecord::Migration[5.0]
def change
create_table :posts do |t|
t.datetime :modified_at, default: -> { 'CURRENT_TIMESTAMP' }
t.timestamps
end
end
end

请参阅 https://github.com/rails/rails/issues/27077 上的讨论并由 prathamesh-sonpatki 回答

关于ruby-on-rails - 如何为日期时间列设置默认值以记录迁移中的创建时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1580805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com