Expand description
Database migration system.
Provides both built-in FORGE schema migrations and support for user migrations.
§Migration Types
-
System migrations: Internal FORGE schema, versioned as
__forge_vXXX. Always applied before user migrations. New forge features can be added without conflicting with user migration numbering. -
User migrations: Application schema, named
XXXX_name.sql. Sorted alphabetically and applied after system migrations.
Structs§
- Applied
Migration - Information about an applied migration.
- Diff
Entry - A single diff entry.
- Migration
- A single migration with up and optional down SQL.
- Migration
Executor - Executes migrations against a database.
- Migration
Generator - Generates SQL migrations from schema changes.
- Migration
Runner - Migration runner that handles both built-in and user migrations.
- Migration
Status - Status of migrations.
- Schema
Diff - Represents the difference between two schemas.
- System
Migration - A system migration with a version number.
Enums§
- Diff
Action - Type of schema change.
Constants§
- LEGACY_
MIGRATION_ NAME - Legacy migration name from older forge versions. If found, it will be considered equivalent to v001.
- SYSTEM_
MIGRATION_ PREFIX - System migration prefix. All forge internal migrations use this prefix.
Functions§
- extract_
version - Extract version number from a system migration name. Returns None if not a valid system migration name.
- get_
all_ system_ sql - Get all system migrations SQL concatenated.
- get_
builtin_ migrations - Get system migrations as Migration structs.
- get_
system_ migrations - Get all built-in FORGE system migrations in version order.
- is_
system_ migration - Check if a migration name is a system migration.
- load_
migrations_ from_ dir - Load user migrations from a directory.