Trait MigratorTrait
pub trait MigratorTrait: Send {
Show 14 methods
// Required method
fn migrations() -> Vec<Box<dyn MigrationTrait>>;
// Provided methods
fn migration_table_name() -> SeaRc<dyn Iden> { ... }
fn get_migration_files() -> Vec<Migration> { ... }
fn get_migration_models<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<Vec<Model>, DbErr>> + Send + 'async_trait>>
where 'life0: 'async_trait,
C: ConnectionTrait + 'async_trait,
Self: 'async_trait { ... }
fn get_migration_with_status<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<Vec<Migration>, DbErr>> + Send + 'async_trait>>
where 'life0: 'async_trait,
C: ConnectionTrait + 'async_trait,
Self: 'async_trait { ... }
fn get_pending_migrations<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<Vec<Migration>, DbErr>> + Send + 'async_trait>>
where 'life0: 'async_trait,
C: ConnectionTrait + 'async_trait,
Self: 'async_trait { ... }
fn get_applied_migrations<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<Vec<Migration>, DbErr>> + Send + 'async_trait>>
where 'life0: 'async_trait,
C: ConnectionTrait + 'async_trait,
Self: 'async_trait { ... }
fn install<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>
where 'life0: 'async_trait,
C: ConnectionTrait + 'async_trait,
Self: 'async_trait { ... }
fn status<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>
where 'life0: 'async_trait,
C: ConnectionTrait + 'async_trait,
Self: 'async_trait { ... }
fn fresh<'c, 'async_trait, C>(
db: C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>
where 'c: 'async_trait,
C: IntoSchemaManagerConnection<'c> + 'async_trait,
Self: 'async_trait { ... }
fn refresh<'c, 'async_trait, C>(
db: C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>
where 'c: 'async_trait,
C: IntoSchemaManagerConnection<'c> + 'async_trait,
Self: 'async_trait { ... }
fn reset<'c, 'async_trait, C>(
db: C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>
where 'c: 'async_trait,
C: IntoSchemaManagerConnection<'c> + 'async_trait,
Self: 'async_trait { ... }
fn up<'c, 'async_trait, C>(
db: C,
steps: Option<u32>,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>
where 'c: 'async_trait,
C: IntoSchemaManagerConnection<'c> + 'async_trait,
Self: 'async_trait { ... }
fn down<'c, 'async_trait, C>(
db: C,
steps: Option<u32>,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>
where 'c: 'async_trait,
C: IntoSchemaManagerConnection<'c> + 'async_trait,
Self: 'async_trait { ... }
}
Expand description
Performing migrations on a database
Required Methods§
fn migrations() -> Vec<Box<dyn MigrationTrait>>
fn migrations() -> Vec<Box<dyn MigrationTrait>>
Vector of migrations in time sequence
Provided Methods§
fn migration_table_name() -> SeaRc<dyn Iden>
fn migration_table_name() -> SeaRc<dyn Iden>
Name of the migration table, it is seaql_migrations
by default
fn get_migration_files() -> Vec<Migration>
fn get_migration_files() -> Vec<Migration>
Get list of migrations wrapped in Migration
struct
fn get_migration_models<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<Vec<Model>, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
fn get_migration_models<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<Vec<Model>, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
Get list of applied migrations from database
fn get_migration_with_status<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<Vec<Migration>, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
fn get_migration_with_status<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<Vec<Migration>, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
Get list of migrations with status
fn get_pending_migrations<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<Vec<Migration>, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
fn get_pending_migrations<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<Vec<Migration>, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
Get list of pending migrations
fn get_applied_migrations<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<Vec<Migration>, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
fn get_applied_migrations<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<Vec<Migration>, DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
Get list of applied migrations
fn install<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
fn install<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
Create migration table seaql_migrations
in the database
fn status<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
fn status<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
Check the status of all migrations
fn fresh<'c, 'async_trait, C>(
db: C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>where
'c: 'async_trait,
C: IntoSchemaManagerConnection<'c> + 'async_trait,
Self: 'async_trait,
fn fresh<'c, 'async_trait, C>(
db: C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>where
'c: 'async_trait,
C: IntoSchemaManagerConnection<'c> + 'async_trait,
Self: 'async_trait,
Drop all tables from the database, then reapply all migrations
fn refresh<'c, 'async_trait, C>(
db: C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>where
'c: 'async_trait,
C: IntoSchemaManagerConnection<'c> + 'async_trait,
Self: 'async_trait,
fn refresh<'c, 'async_trait, C>(
db: C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>where
'c: 'async_trait,
C: IntoSchemaManagerConnection<'c> + 'async_trait,
Self: 'async_trait,
Rollback all applied migrations, then reapply all migrations
fn reset<'c, 'async_trait, C>(
db: C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>where
'c: 'async_trait,
C: IntoSchemaManagerConnection<'c> + 'async_trait,
Self: 'async_trait,
fn reset<'c, 'async_trait, C>(
db: C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>where
'c: 'async_trait,
C: IntoSchemaManagerConnection<'c> + 'async_trait,
Self: 'async_trait,
Rollback all applied migrations
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.