use super::Database;
pub async fn get_pg_pool(database: &Database) -> Result<sqlx::PgPool, sqlx::Error> {
let database_url = format!(
"postgres://{}:{}@{}:{}/{}",
database.username, database.password, database.host, database.port, database.name
);
let db_pool = sqlx::PgPool::connect(&database_url).await?;
Ok(db_pool)
}
pub async fn get_mysql_pool(database: &Database) -> Result<sqlx::MySqlPool, sqlx::Error> {
let database_url = format!(
"mysql://{}:{}@{}:{}/{}",
database.username, database.password, database.host, database.port, database.name
);
let db_pool = sqlx::MySqlPool::connect(&database_url).await?;
Ok(db_pool)
}
pub async fn get_sqlite_pool(database: &Database) -> Result<sqlx::SqlitePool, sqlx::Error> {
let database_url = format!("{}.db", database.name);
let db_pool = sqlx::SqlitePool::connect(&database_url).await?;
Ok(db_pool)
}