🤖
TypeORM で default 値に現在時刻を適用する
TypeORM の Default Now
typeorm で、日付列に default now を適用したい場合、 default: ()=>"now()"
が正解のようです。
@Entity()
export class DatetimesColumn{
// ...
@Column({
name: 'created_at',
type: 'timestamp',
default: ()=>"now()",
precision: 0,
})
readonly createdAt: Date;
}
CURRENT_TIMESTAMP や new Date() を利用した場合でも問題なく動作するのですが、
typeorm migration:generate
実行時に 毎回テーブルの差分が生まれてしまうため、
now()
を使用する記述が推奨されているようです。
Discussion