feat: adapt db/db-migrations to run mariadb migrations

This commit is contained in:
realaravinth
2022-07-20 17:41:39 +05:30
parent 9b5b34a1f8
commit b8d3b1449a
2 changed files with 17 additions and 1 deletions

View File

@@ -10,4 +10,4 @@ authors = ["realaravinth <realaravinth@batsense.net>"]
[dependencies] [dependencies]
actix-rt = "2" actix-rt = "2"
sqlx = { version = "0.5.13", features = [ "runtime-actix-rustls", "postgres", "time", "offline" ] } sqlx = { version = "0.5.13", features = [ "runtime-actix-rustls", "postgres", "time", "offline", "mysql" ] }

View File

@@ -17,12 +17,14 @@
use std::env; use std::env;
use sqlx::postgres::PgPoolOptions; use sqlx::postgres::PgPoolOptions;
use sqlx::mysql::MySqlPoolOptions;
#[cfg(not(tarpaulin_include))] #[cfg(not(tarpaulin_include))]
#[actix_rt::main] #[actix_rt::main]
async fn main() { async fn main() {
//TODO featuregate sqlite and postgres //TODO featuregate sqlite and postgres
postgres_migrate().await; postgres_migrate().await;
maria_migrate().await;
} }
async fn postgres_migrate() { async fn postgres_migrate() {
@@ -38,3 +40,17 @@ async fn postgres_migrate() {
.await .await
.unwrap(); .unwrap();
} }
async fn maria_migrate() {
let db_url = env::var("MARIA_DATABASE_URL").expect("set POSTGRES_DATABASE_URL env var");
let db = MySqlPoolOptions::new()
.max_connections(2)
.connect(&db_url)
.await
.expect("Unable to form database pool");
sqlx::migrate!("../db-sqlx-maria/migrations/")
.run(&db)
.await
.unwrap();
}