🪨
damian
CLI

generate

Create TypeScript types from migrations

What it does

Reads all migration files, applies them to an in-memory database, produces:

OutputPurpose
./damian/.generated/tables.tsTypeScript table definitions for queries
./damian/.generated/typings.tsWraps custom typings from ./damian/typings.ts
./damian/db.sqlSQL dump of current schema (for version control)

Run

npx damian generate
pnpm damian generate
yarn damian generate

Skip migrations from dump

Use devDumpIgnore in damian.config.ts to exclude specific files from db.sql while including them in type generation. Useful for cleaning up schema dumps by omitting seed data:

damian.config.ts
import { config } from 'damian'

export default config({
    driver: 'postgres',
    url: process.env.DATABASE_URL,
    devDumpIgnore: ['20240101000000_seed_dev_data.sql']
})

On this page