Skill para criação de schemas de banco de dados com Drizzle ORM.
Padrão Base
import {
pgTable,
text,
varchar,
timestamp,
boolean,
} from "drizzle-orm/pg-core";
import { uuidv7 } from "uuidv7";
export const entities = pgTable("entities", {
// ID com UUIDv7
id: text("id")
.primaryKey()
.$defaultFn(() => uuidv7()),
// Campos da entidade
name: varchar("name", { length: 255 }).notNull(),
description: text("description"),
// Status
status: varchar("status", { length: 50 }).default("pending"),
isActive: boolean("is_active").default(true).notNull(),
// Relacionamentos
createdById: text("created_by_id")
.references(() => users.id)
.notNull(),
// Timestamps
createdAt: timestamp("created_at", { withTimezone: true })
.defaultNow()
.notNull(),
updatedAt: timestamp("updated_at", { withTimezone: true })
.defaultNow()
.notNull(),
});
Convenções