我试图在续集中创建一个默认值:
create_table(:my_table) do
primary_key :id
# ..........
Timestamp :created_at, default: "now()"
运行迁移后,它会生成一个包含此列定义的表:
--........
created_at timestamp without time zone DEFAULT '2017-10-28 12:26:00.129157'::timestamp without time zone,
但我想要的是价值" now()"在我插入新值时设置。
答案 0 :(得分:0)
您是否尝试在时间字段中设置字符串?我不认为这会起作用。您必须使用String :created_at, default: "now()"
答案 1 :(得分:0)
我知道这个问题是前一段时间提出的,但是我遇到了一个类似的问题,我通过使用Sequal.lit
Timestamp :created_at, default: Sequel.lit("now()")
答案 2 :(得分:0)
方法如下,使用 Sequel.function(:now)
或 Sequel::CURRENT_TIMESTAMP
Time :created_at, default: Sequel.function(:now)
# or...
Time :created_at, default: Sequel::CURRENT_TIMESTAMP