From b8d3b1449acb1ad9375c41f89f7147405ed4a316 Mon Sep 17 00:00:00 2001 From: realaravinth Date: Wed, 20 Jul 2022 17:41:39 +0530 Subject: [PATCH] feat: adapt db/db-migrations to run mariadb migrations --- db/db-migrations/Cargo.toml | 2 +- db/db-migrations/src/main.rs | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/db/db-migrations/Cargo.toml b/db/db-migrations/Cargo.toml index d3b9552e..f21b6879 100644 --- a/db/db-migrations/Cargo.toml +++ b/db/db-migrations/Cargo.toml @@ -10,4 +10,4 @@ authors = ["realaravinth "] [dependencies] 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" ] } diff --git a/db/db-migrations/src/main.rs b/db/db-migrations/src/main.rs index 7f777e12..5c16e71a 100644 --- a/db/db-migrations/src/main.rs +++ b/db/db-migrations/src/main.rs @@ -17,12 +17,14 @@ use std::env; use sqlx::postgres::PgPoolOptions; +use sqlx::mysql::MySqlPoolOptions; #[cfg(not(tarpaulin_include))] #[actix_rt::main] async fn main() { //TODO featuregate sqlite and postgres postgres_migrate().await; + maria_migrate().await; } async fn postgres_migrate() { @@ -38,3 +40,17 @@ async fn postgres_migrate() { .await .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(); +}