pub trait MigratorTrait: Send {
Show 14 methods
// Required method
fn migrations() -> Vec<Box<dyn MigrationTrait>>;
// Provided methods
fn migration_table_name() -> DynIden { ... }
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 C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
'life0: '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 C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
'life0: '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 C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
'life0: '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 C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait { ... }
fn install<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>
where C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait { ... }
fn status<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>
where C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait { ... }
fn fresh<'c, 'async_trait, C>(
db: C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>
where C: IntoSchemaManagerConnection<'c> + 'async_trait,
Self: 'async_trait,
'c: 'async_trait { ... }
fn refresh<'c, 'async_trait, C>(
db: C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>
where C: IntoSchemaManagerConnection<'c> + 'async_trait,
Self: 'async_trait,
'c: 'async_trait { ... }
fn reset<'c, 'async_trait, C>(
db: C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>
where C: IntoSchemaManagerConnection<'c> + 'async_trait,
Self: 'async_trait,
'c: '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: IntoSchemaManagerConnection<'c> + 'async_trait,
Self: 'async_trait,
'c: '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: IntoSchemaManagerConnection<'c> + 'async_trait,
Self: 'async_trait,
'c: 'async_trait { ... }
}
Expand description
Performing migrations on a database
Required Methods§
Sourcefn migrations() -> Vec<Box<dyn MigrationTrait>>
fn migrations() -> Vec<Box<dyn MigrationTrait>>
Vector of migrations in time sequence
Provided Methods§
Sourcefn migration_table_name() -> DynIden
fn migration_table_name() -> DynIden
Name of the migration table, it is seaql_migrations
by default
Sourcefn get_migration_files() -> Vec<Migration>
fn get_migration_files() -> Vec<Migration>
Get list of migrations wrapped in Migration
struct
Sourcefn get_migration_models<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<Vec<Model>, DbErr>> + Send + 'async_trait>>where
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
'life0: '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
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
Get list of applied migrations from database
Sourcefn get_migration_with_status<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<Vec<Migration>, DbErr>> + Send + 'async_trait>>where
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
'life0: '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
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
Get list of migrations with status
Sourcefn get_pending_migrations<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<Vec<Migration>, DbErr>> + Send + 'async_trait>>where
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
'life0: '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
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
Get list of pending migrations
Sourcefn get_applied_migrations<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<Vec<Migration>, DbErr>> + Send + 'async_trait>>where
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
'life0: '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
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
Get list of applied migrations
Sourcefn install<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>where
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
fn install<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>where
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
Create migration table seaql_migrations
in the database
Sourcefn status<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>where
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
fn status<'life0, 'async_trait, C>(
db: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>where
C: ConnectionTrait + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
Check the status of all migrations
Sourcefn fresh<'c, 'async_trait, C>(
db: C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>where
C: IntoSchemaManagerConnection<'c> + 'async_trait,
Self: 'async_trait,
'c: 'async_trait,
fn fresh<'c, 'async_trait, C>(
db: C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>where
C: IntoSchemaManagerConnection<'c> + 'async_trait,
Self: 'async_trait,
'c: 'async_trait,
Drop all tables from the database, then reapply all migrations
Sourcefn refresh<'c, 'async_trait, C>(
db: C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>where
C: IntoSchemaManagerConnection<'c> + 'async_trait,
Self: 'async_trait,
'c: 'async_trait,
fn refresh<'c, 'async_trait, C>(
db: C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>where
C: IntoSchemaManagerConnection<'c> + 'async_trait,
Self: 'async_trait,
'c: 'async_trait,
Rollback all applied migrations, then reapply all migrations
Sourcefn reset<'c, 'async_trait, C>(
db: C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>where
C: IntoSchemaManagerConnection<'c> + 'async_trait,
Self: 'async_trait,
'c: 'async_trait,
fn reset<'c, 'async_trait, C>(
db: C,
) -> Pin<Box<dyn Future<Output = Result<(), DbErr>> + Send + 'async_trait>>where
C: IntoSchemaManagerConnection<'c> + 'async_trait,
Self: 'async_trait,
'c: '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.