Refactoring

This commit is contained in:
Billy Chan 2021-10-25 17:05:27 +08:00
parent 6059cdd9ad
commit 4b1cac7f35
No known key found for this signature in database
GPG Key ID: A2D690CAC7DF3CC7

View File

@ -132,34 +132,31 @@ pub async fn create_active_enum_table(db: &DbConn) -> Result<ExecResult, DbErr>
.col(&mut tea_col) .col(&mut tea_col)
.to_owned(); .to_owned();
match db_backend { if db_backend = DbBackend::Postgres {
DbBackend::Postgres => { let drop_type_stmt = Type::drop()
let drop_type_stmt = Type::drop() .name(tea_enum.clone())
.name(tea_enum.clone()) .cascade()
.cascade() .if_exists()
.if_exists() .to_owned();
.to_owned(); let (sql, values) = drop_type_stmt.build(PostgresQueryBuilder);
let (sql, values) = drop_type_stmt.build(PostgresQueryBuilder); let stmt = Statement::from_sql_and_values(db.get_database_backend(), &sql, values);
let stmt = Statement::from_sql_and_values(db.get_database_backend(), &sql, values); db.execute(stmt).await?;
db.execute(stmt).await?;
let create_type_stmt = Type::create() let create_type_stmt = Type::create()
.as_enum(tea_enum) .as_enum(tea_enum)
.values(vec![Alias::new("EverydayTea"), Alias::new("BreakfastTea")]) .values(vec![Alias::new("EverydayTea"), Alias::new("BreakfastTea")])
.to_owned(); .to_owned();
// FIXME: This is not working // FIXME: This is not working
{ {
let (sql, values) = create_type_stmt.build(PostgresQueryBuilder); let (sql, values) = create_type_stmt.build(PostgresQueryBuilder);
let _stmt = Statement::from_sql_and_values(db.get_database_backend(), &sql, values); let _stmt = Statement::from_sql_and_values(db.get_database_backend(), &sql, values);
}
// But this is working...
let stmt = Statement::from_string(
db.get_database_backend(),
create_type_stmt.to_string(PostgresQueryBuilder),
);
db.execute(stmt).await?;
} }
_ => {} // But this is working...
let stmt = Statement::from_string(
db.get_database_backend(),
create_type_stmt.to_string(PostgresQueryBuilder),
);
db.execute(stmt).await?;
} }
create_table(db, &stmt, ActiveEnum).await create_table(db, &stmt, ActiveEnum).await