Migrations
Apply migration
from mydborm.migrations import migrate, migration_status, rollback
migrate(User, description="create users table")
Check status
for m in migration_status():
print(m["version"], m["description"], m["applied_at"])
Rollback
Auto-generate SQL files
from mydborm.migrations import generate, apply_migration_file
result = generate(User, output_dir="migrations/")
print(result["file"]) # migrations/0001_user.sql
apply_migration_file("migrations/0001_user.sql")
CLI
mydborm migrate --dialect mysql --status
mydborm generate --model myapp.models.User --output migrations/
mydborm generate --model myapp.models.User --apply