Run migration script defined in SeaQuery (#1063)

This commit is contained in:
Billy Chan 2022-09-23 15:32:18 +08:00 committed by GitHub
parent 75e2570811
commit 9e57574de2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 41 additions and 0 deletions

View File

@ -0,0 +1,39 @@
use sea_orm_migration::prelude::*;
use sea_orm_migration::sea_orm::{entity::*, query::*};
#[derive(DeriveMigrationName)]
pub struct Migration;
#[async_trait::async_trait]
impl MigrationTrait for Migration {
async fn up(&self, manager: &SchemaManager) -> Result<(), DbErr> {
let insert = Query::insert()
.into_table(Cake::Table)
.columns([Cake::Name])
.values_panic(["Tiramisu".into()])
.to_owned();
manager.exec_stmt(insert).await?;
Ok(())
}
async fn down(&self, manager: &SchemaManager) -> Result<(), DbErr> {
let delete = Query::delete()
.from_table(Cake::Table)
.and_where(Expr::col(Cake::Name).eq("Tiramisu"))
.to_owned();
manager.exec_stmt(delete).await?;
Ok(())
}
}
/// Learn more at https://docs.rs/sea-query#iden
#[derive(Iden)]
pub enum Cake {
Table,
Id,
Name,
}

View File

@ -3,6 +3,7 @@ use sea_orm_migration::prelude::*;
mod m20220118_000001_create_cake_table;
mod m20220118_000002_create_fruit_table;
mod m20220118_000003_seed_cake_table;
mod m20220923_000001_seed_cake_table;
pub struct Migrator;
@ -13,6 +14,7 @@ impl MigratorTrait for Migrator {
Box::new(m20220118_000001_create_cake_table::Migration),
Box::new(m20220118_000002_create_fruit_table::Migration),
Box::new(m20220118_000003_seed_cake_table::Migration),
Box::new(m20220923_000001_seed_cake_table::Migration),
]
}
}