forge_runtime/migrations/mod.rs
1//! Database migration system.
2//!
3//! Provides both built-in FORGE schema migrations and support for user migrations.
4//!
5//! # Migration Types
6//!
7//! - **System migrations**: Internal FORGE schema, versioned as `__forge_vXXX`.
8//! Always applied before user migrations. New forge features can be added
9//! without conflicting with user migration numbering.
10//!
11//! - **User migrations**: Application schema, named `XXXX_name.sql`.
12//! Sorted alphabetically and applied after system migrations.
13
14mod builtin;
15mod diff;
16mod executor;
17mod generator;
18mod runner;
19
20pub use builtin::{
21 LEGACY_MIGRATION_NAME, SYSTEM_MIGRATION_PREFIX, SystemMigration, extract_version,
22 get_builtin_migrations, get_system_migrations, is_system_migration,
23};
24pub use diff::{DiffAction, DiffEntry, SchemaDiff};
25pub use executor::MigrationExecutor;
26pub use generator::MigrationGenerator;
27pub use runner::{
28 AppliedMigration, Migration, MigrationRunner, MigrationStatus, load_migrations_from_dir,
29};