Skip to content

Generation

import { generateFromDb } from '@smplcty/schema-flow';
const files = await generateFromDb({
connectionString,
pgSchema: 'public',
outputDir: './schema',
seeds: ['users', 'roles'], // optional: tables to include seed data for
});
// files: GeneratedFile[]
import { generateSql, generateSqlFile, formatMigrationSql } from '@smplcty/schema-flow';
// Get SQL as string
const sql = generateSql(plan);
// Write to file
await generateSqlFile(plan, 'migration.sql');
// Format operations as SQL
const formatted = formatMigrationSql(operations);

Output includes:

  • Transaction grouping (BEGIN/COMMIT)
  • CONCURRENTLY operations outside transactions
  • Phase and operation type comments
  • Blocked operations as comments
import { generateErd } from '@smplcty/schema-flow';
const mermaid = generateErd(tables);
// Returns Mermaid ER diagram string

Output includes:

  • Tables with column names, types, PK/FK markers, and comments
  • Foreign key relationships with correct cardinality
  • Composite primary key support
import { scaffoldInit, scaffoldPre, scaffoldPost, scaffoldMixin } from '@smplcty/schema-flow';
// Create project directory structure
scaffoldInit('./schema');
// Create timestamped templates
scaffoldPre('./schema', 'cleanup');
scaffoldPost('./schema', 'refresh-views');
scaffoldMixin('./schema', 'timestamps');