Generation
Generate YAML from database
Section titled “Generate YAML from database”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[]Generate SQL from plan
Section titled “Generate SQL from plan”import { generateSql, generateSqlFile, formatMigrationSql } from '@smplcty/schema-flow';
// Get SQL as stringconst sql = generateSql(plan);
// Write to fileawait generateSqlFile(plan, 'migration.sql');
// Format operations as SQLconst formatted = formatMigrationSql(operations);Output includes:
- Transaction grouping (
BEGIN/COMMIT) CONCURRENTLYoperations outside transactions- Phase and operation type comments
- Blocked operations as comments
Generate ERD
Section titled “Generate ERD”import { generateErd } from '@smplcty/schema-flow';
const mermaid = generateErd(tables);// Returns Mermaid ER diagram stringOutput includes:
- Tables with column names, types, PK/FK markers, and comments
- Foreign key relationships with correct cardinality
- Composite primary key support
Scaffold
Section titled “Scaffold”import { scaffoldInit, scaffoldPre, scaffoldPost, scaffoldMixin } from '@smplcty/schema-flow';
// Create project directory structurescaffoldInit('./schema');
// Create timestamped templatesscaffoldPre('./schema', 'cleanup');scaffoldPost('./schema', 'refresh-views');scaffoldMixin('./schema', 'timestamps');