This commit is contained in:
Chris Tsang 2022-05-09 18:24:46 +08:00
parent 31cdecf549
commit b622a6e1aa
2 changed files with 18 additions and 3 deletions

View File

@ -105,7 +105,7 @@ impl<'c> SchemaManager<'c> {
.conn
.query_one(builder.build(&stmt))
.await?
.ok_or_else(|| DbErr::Custom("Fail to check table exists".to_owned()))?;
.ok_or_else(|| DbErr::Custom("Failed to check table exists".to_owned()))?;
Ok(res.try_get("", "has_table")?)
}
@ -126,7 +126,7 @@ impl<'c> SchemaManager<'c> {
.conn
.query_one(builder.build(&stmt))
.await?
.ok_or_else(|| DbErr::Custom("Fail to check table exists".to_owned()))?;
.ok_or_else(|| DbErr::Custom("Failed to check column exists".to_owned()))?;
Ok(res.try_get("", "has_column")?)
}

View File

@ -10,7 +10,7 @@ async fn main() -> Result<(), DbErr> {
let db_name = "sea_orm_migration";
let db = Database::connect(&url).await?;
let db = &match db.get_database_backend() {
DbBackend::MySql | DbBackend::Postgres => {
DbBackend::MySql => {
db.execute(Statement::from_string(
db.get_database_backend(),
format!("CREATE DATABASE IF NOT EXISTS `{}`;", db_name),
@ -20,6 +20,21 @@ async fn main() -> Result<(), DbErr> {
let url = format!("{}/{}", url, db_name);
Database::connect(&url).await?
}
DbBackend::Postgres => {
db.execute(Statement::from_string(
db.get_database_backend(),
format!("DROP DATABASE IF EXISTS \"{}\";", db_name),
))
.await?;
db.execute(Statement::from_string(
db.get_database_backend(),
format!("CREATE DATABASE \"{}\";", db_name),
))
.await?;
let url = format!("{}/{}", url, db_name);
Database::connect(&url).await?
}
DbBackend::Sqlite => db,
};
let manager = SchemaManager::new(db);