From 5fcd8880cc07b3de432bf1c6c19ed7c09d64fa04 Mon Sep 17 00:00:00 2001 From: ok300 <106775972+ok300@users.noreply.github.com> Date: Fri, 27 Dec 2024 16:01:36 +0100 Subject: [PATCH] SQLite: move migration into into new() --- crates/cdk-cli/src/main.rs | 2 -- crates/cdk-integration-tests/src/bin/fake_wallet.rs | 1 - crates/cdk-integration-tests/src/bin/regtest_mint.rs | 1 - crates/cdk-mintd/src/main.rs | 3 --- crates/cdk-sqlite/src/mint/error.rs | 3 +++ crates/cdk-sqlite/src/mint/mod.rs | 10 ++-------- crates/cdk-sqlite/src/wallet/error.rs | 3 +++ crates/cdk-sqlite/src/wallet/mod.rs | 10 ++-------- 8 files changed, 10 insertions(+), 23 deletions(-) diff --git a/crates/cdk-cli/src/main.rs b/crates/cdk-cli/src/main.rs index 5352efd56..890ebd3c0 100644 --- a/crates/cdk-cli/src/main.rs +++ b/crates/cdk-cli/src/main.rs @@ -108,8 +108,6 @@ async fn main() -> Result<()> { let sql_path = work_dir.join("cdk-cli.sqlite"); let sql = WalletSqliteDatabase::new(&sql_path).await?; - sql.migrate().await; - Arc::new(sql) } "redb" => { diff --git a/crates/cdk-integration-tests/src/bin/fake_wallet.rs b/crates/cdk-integration-tests/src/bin/fake_wallet.rs index 9d83e96c9..1ab4543d7 100644 --- a/crates/cdk-integration-tests/src/bin/fake_wallet.rs +++ b/crates/cdk-integration-tests/src/bin/fake_wallet.rs @@ -20,7 +20,6 @@ async fn main() -> Result<()> { } "SQLITE" => { let sqlite_db = MintSqliteDatabase::new(&get_temp_dir().join("mint")).await?; - sqlite_db.migrate().await; start_fake_mint(addr, port, sqlite_db).await?; } "REDB" => { diff --git a/crates/cdk-integration-tests/src/bin/regtest_mint.rs b/crates/cdk-integration-tests/src/bin/regtest_mint.rs index 63ec122f5..487df1500 100644 --- a/crates/cdk-integration-tests/src/bin/regtest_mint.rs +++ b/crates/cdk-integration-tests/src/bin/regtest_mint.rs @@ -65,7 +65,6 @@ async fn main() -> Result<()> { } "SQLITE" => { let sqlite_db = MintSqliteDatabase::new(&get_temp_dir().join("mint")).await?; - sqlite_db.migrate().await; start_cln_mint(addr, port, sqlite_db).await?; } "REDB" => { diff --git a/crates/cdk-mintd/src/main.rs b/crates/cdk-mintd/src/main.rs index ca2d3f7df..5fa6a4314 100644 --- a/crates/cdk-mintd/src/main.rs +++ b/crates/cdk-mintd/src/main.rs @@ -92,9 +92,6 @@ async fn main() -> anyhow::Result<()> { DatabaseEngine::Sqlite => { let sql_db_path = work_dir.join("cdk-mintd.sqlite"); let sqlite_db = MintSqliteDatabase::new(&sql_db_path).await?; - - sqlite_db.migrate().await; - Arc::new(sqlite_db) } DatabaseEngine::Redb => { diff --git a/crates/cdk-sqlite/src/mint/error.rs b/crates/cdk-sqlite/src/mint/error.rs index e4c185fda..31103e91c 100644 --- a/crates/cdk-sqlite/src/mint/error.rs +++ b/crates/cdk-sqlite/src/mint/error.rs @@ -8,6 +8,9 @@ pub enum Error { /// SQLX Error #[error(transparent)] SQLX(#[from] sqlx::Error), + /// SQLX Migration Error + #[error(transparent)] + SQLXMigration(#[from] sqlx::migrate::MigrateError), /// NUT00 Error #[error(transparent)] CDKNUT00(#[from] cdk_common::nuts::nut00::Error), diff --git a/crates/cdk-sqlite/src/mint/mod.rs b/crates/cdk-sqlite/src/mint/mod.rs index d0c6dbe0e..9f7676162 100644 --- a/crates/cdk-sqlite/src/mint/mod.rs +++ b/crates/cdk-sqlite/src/mint/mod.rs @@ -48,15 +48,9 @@ impl MintSqliteDatabase { .connect_with(db_options) .await?; - Ok(Self { pool }) - } + sqlx::migrate!("./src/mint/migrations").run(&pool).await?; - /// Migrate [`MintSqliteDatabase`] - pub async fn migrate(&self) { - sqlx::migrate!("./src/mint/migrations") - .run(&self.pool) - .await - .expect("Could not run migrations"); + Ok(Self { pool }) } } diff --git a/crates/cdk-sqlite/src/wallet/error.rs b/crates/cdk-sqlite/src/wallet/error.rs index 66514cfea..b9b2ddb66 100644 --- a/crates/cdk-sqlite/src/wallet/error.rs +++ b/crates/cdk-sqlite/src/wallet/error.rs @@ -8,6 +8,9 @@ pub enum Error { /// SQLX Error #[error(transparent)] SQLX(#[from] sqlx::Error), + /// SQLX Migration Error + #[error(transparent)] + SQLXMigration(#[from] sqlx::migrate::MigrateError), /// Serde Error #[error(transparent)] Serde(#[from] serde_json::Error), diff --git a/crates/cdk-sqlite/src/wallet/mod.rs b/crates/cdk-sqlite/src/wallet/mod.rs index fa2bb4899..1897df426 100644 --- a/crates/cdk-sqlite/src/wallet/mod.rs +++ b/crates/cdk-sqlite/src/wallet/mod.rs @@ -42,15 +42,9 @@ impl WalletSqliteDatabase { let pool = SqlitePool::connect(path).await?; - Ok(Self { pool }) - } + sqlx::migrate!("./src/wallet/migrations").run(&pool).await?; - /// Migrate [`WalletSqliteDatabase`] - pub async fn migrate(&self) { - sqlx::migrate!("./src/wallet/migrations") - .run(&self.pool) - .await - .expect("Could not run migrations"); + Ok(Self { pool }) } async fn set_proof_state(&self, y: PublicKey, state: State) -> Result<(), database::Error> {