Files
flux-releaser/crates/flux-releaser/src/app/infra/database.rs
kjuulh b4af46aa23
Some checks failed
continuous-integration/drone/push Build is failing
feat: add crdb
Signed-off-by: kjuulh <contact@kjuulh.io>
2024-02-21 06:51:54 +01:00

20 lines
502 B
Rust

use anyhow::Context;
use sqlx::{PgPool, Postgres};
pub async fn get_database() -> anyhow::Result<PgPool> {
tracing::trace!("initializing database");
let db =
sqlx::PgPool::connect(&std::env::var("DATABASE_URL").context("DATABASE_URL is not set")?)
.await?;
tracing::trace!("migrating crdb");
sqlx::migrate!("migrations/crdb")
.set_locking(false)
.run(&db)
.await?;
let _ = sqlx::query("SELECT 1;").fetch_one(&db).await?;
Ok(db)
}