🤖
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