supabase postgres updatedAt 自动更新时间戳
由于在prisma
创建model
时,@updatedAt
不起作用
model Book {
id String @id @default(dbgenerated("gen_random_uuid()"))
createdAt DateTime @default(dbgenerated("(now() AT TIME ZONE 'utc'::text)")) @db.Timestamptz(6)
updatedAt DateTime @default(dbgenerated("(now() AT TIME ZONE 'utc'::text)")) @updatedAt @db.Timestamptz(6)
}
1.确保表中有updatedAt(我这是驼峰命名)
2.创建函数
CREATE OR REPLACE FUNCTION update_updated_at_column()
RETURNS TRIGGER AS $$
BEGIN
NEW."updatedAt" = NOW();
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
3.创建触发器
CREATE TRIGGER set_updated_at
BEFORE UPDATE ON your_table // 大写的表名需要双引号,如 “Book”
FOR EACH ROW
EXECUTE FUNCTION update_updated_at_column();
4.将上面的语句复制到supabase SQL Editor 执行
License:
CC BY 4.0