DB Schema Change Skill
Checklist (MUST complete all)
- Add
createdAt: text("created_at").notNull()to new tables - Add
updatedAt: text("updated_at").notNull()to new tables - Specify
onDeletefor all foreign keys (cascade/set null) - Add index for frequently queried columns
- Update
packages/db/src/schema/relations.tsif adding relations - Run migration:
pnpm --filter @mf-dashboard/db exec drizzle-kit generate - Update
docs/architecture/database-schema.mdwith new ERD
File Locations
- Schema:
packages/db/src/schema/tables.ts - Relations:
packages/db/src/schema/relations.ts - Repositories:
packages/db/src/repositories/ - Types:
packages/db/src/types.ts
Template
export const newTable = sqliteTable("new_table", {
id: integer("id").primaryKey({ autoIncrement: true }),
// ... your columns ...
createdAt: text("created_at").notNull(),
updatedAt: text("updated_at").notNull(),
});
Foreign Key Template
foreignKeyColumn: integer("foreign_key_column")
.notNull()
.references(() => parentTable.id, { onDelete: "cascade" }),
Index Template
export const myTable = sqliteTable(
"my_table",
{
// columns...
},
(table) => [index("my_table_column_idx").on(table.columnName)],
);