Skip to content

Commit

Permalink
Test create db enum migration
Browse files Browse the repository at this point in the history
  • Loading branch information
billy1624 authored and karpa4o4 committed Aug 10, 2022
1 parent 3f36e3c commit ddf2983
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
use sea_orm_migration::prelude::{sea_query::extension::postgres::Type, *};
use sea_orm_migration::sea_orm::{ConnectionTrait, DbBackend};

#[derive(DeriveMigrationName)]
pub struct Migration;

#[async_trait::async_trait]
impl MigrationTrait for Migration {
async fn up(&self, manager: &SchemaManager) -> Result<(), DbErr> {
let db = manager.get_connection();

match db.get_database_backend() {
DbBackend::MySql | DbBackend::Sqlite => {}
DbBackend::Postgres => {
manager
.create_type(
Type::create()
.as_enum(Tea::Table)
.values([Tea::EverydayTea, Tea::BreakfastTea])
.to_owned(),
)
.await?;
}
}

Ok(())
}

async fn down(&self, manager: &SchemaManager) -> Result<(), DbErr> {
let db = manager.get_connection();

match db.get_database_backend() {
DbBackend::MySql | DbBackend::Sqlite => {}
DbBackend::Postgres => {
manager
.drop_type(Type::drop().name(Tea::Table).to_owned())
.await?;
}
}

Ok(())
}
}

/// Learn more at https://docs.rs/sea-query#iden
#[derive(Iden)]
pub enum Tea {
Table,
#[iden = "EverydayTea"]
EverydayTea,
#[iden = "BreakfastTea"]
BreakfastTea,
}
2 changes: 2 additions & 0 deletions sea-orm-migration/tests/migrator/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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 m20220118_000004_create_tea_enum;

pub struct Migrator;

Expand All @@ -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(m20220118_000004_create_tea_enum::Migration),
]
}
}

0 comments on commit ddf2983

Please sign in to comment.