aerostack generate types
Introspect your connected databases and generate TypeScript interfaces + a type-safe database client.
aerostack generate types [flags]| Flag | Default | Description |
|---|---|---|
-o, --output | shared/types.ts | Output file path |
Examples
Section titled “Examples”# Generate types to default locationaerostack generate types
# Custom output pathaerostack generate types --output src/db/types.tsWhat it generates
Section titled “What it generates”Given a posts table:
CREATE TABLE posts ( id TEXT PRIMARY KEY, user_id TEXT NOT NULL, title TEXT NOT NULL, published INTEGER DEFAULT 0, created_at INTEGER NOT NULL);The command generates:
// shared/types.ts (auto-generated — do not edit)
export interface Post { id: string user_id: string title: string published: number created_at: number}
export interface DB { posts: Post // ... other tables}Using the generated types
Section titled “Using the generated types”import { DB } from '@shared/types'
const { results } = await sdk.db.query<DB['posts']>( 'SELECT * FROM posts WHERE published = 1')// results is typed as Post[]When to run
Section titled “When to run”- After creating or modifying a migration
- After running
aerostack db pull - As part of your CI pipeline before building