drizzle-team / drizzle-team/drizzle-orm
[FEATURE]: `CREATE TRIGGER` functions
- Dominant language
- TypeScript
- Stars
- 35.8k
- Forks
- 1.6k
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 4
Description
### Describe what you want
Expected behavior:
```ts
export const users = pgTable('users', {
updatedAt: timestamp('updated_at')
.defaultNow()
.notNull()
// Feature request:
.triggerBeforeUpdate('set_updated_at', sql`set_updated_at()`),
});
```
```sql
-- Inserted manually in a previous migration file
CREATE OR REPLACE FUNCTION set_updated_at()
RETURNS TRIGGER AS
$$
BEGIN
NEW.updated_at = NOW();
RETURN NEW;
END;
$$ LANGUAGE 'plpgsql';
```
```sql
CREATE TABLE IF NOT EXISTS "users" (
"updated_at" timestamp DEFAULT now() NOT NULL,
);
CREATE TRIGGER set_updated_at
BEFORE UPDATE ON "users"
FOR EACH ROW
EXECUTE PROCEDURE set_updated_at();
```
Contributor guide
Assessment
This issue has not been assessed yet.