type_bridge.migration.generator¶
generator
¶
Migration generator for auto-generating migrations from model changes.
MigrationGenerator
¶
Generates migration files from model changes.
Compares current models against the last migration state and generates appropriate operations for the detected changes.
Example
generator = MigrationGenerator(db, Path("migrations"))
Generate migration from models¶
path = generator.generate([Person, Company, Employment], name="initial")
Creates: migrations/0001_initial.py¶
Generate empty migration for manual editing¶
path = generator.generate([], name="custom_changes", empty=True)
Initialize generator.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
db
|
Database
|
Database connection |
required |
migrations_dir
|
Path
|
Directory to write migration files |
required |
Source code in type_bridge/migration/generator.py
generate
¶
Generate a migration file.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
models
|
list[type[Entity | Relation]]
|
Model classes to check for changes |
required |
name
|
str
|
Migration name suffix (e.g., "initial", "add_company") |
'auto'
|
empty
|
bool
|
Create empty migration for manual editing |
False
|
Returns:
| Type | Description |
|---|---|
Path | None
|
Path to created file, or None if no changes detected |