diff --git a/backend/.sqlx/query-661f472ff3860983322162420457f5033b9c9afc344d9c3e385ba20a3ad2197a.json b/backend/.sqlx/query-661f472ff3860983322162420457f5033b9c9afc344d9c3e385ba20a3ad2197a.json index 75b8108281..1fa370e682 100644 --- a/backend/.sqlx/query-661f472ff3860983322162420457f5033b9c9afc344d9c3e385ba20a3ad2197a.json +++ b/backend/.sqlx/query-661f472ff3860983322162420457f5033b9c9afc344d9c3e385ba20a3ad2197a.json @@ -5,7 +5,7 @@ "columns": [ { "ordinal": 0, - "name": "?column?", + "name": "bool", "type_info": "Bool" } ], diff --git a/backend/.sqlx/query-b3dbdfb50ee8118bdaed3164b210cb549a34b96554ae1872355b90304f5dcb76.json b/backend/.sqlx/query-b3dbdfb50ee8118bdaed3164b210cb549a34b96554ae1872355b90304f5dcb76.json index 99269c9851..54e94cfb8f 100644 --- a/backend/.sqlx/query-b3dbdfb50ee8118bdaed3164b210cb549a34b96554ae1872355b90304f5dcb76.json +++ b/backend/.sqlx/query-b3dbdfb50ee8118bdaed3164b210cb549a34b96554ae1872355b90304f5dcb76.json @@ -18,8 +18,8 @@ "Left": [] }, "nullable": [ - true, - false + false, + true ] }, "hash": "b3dbdfb50ee8118bdaed3164b210cb549a34b96554ae1872355b90304f5dcb76" diff --git a/backend/windmill-api/src/db.rs b/backend/windmill-api/src/db.rs index 1ee7705034..57ec59eb73 100644 --- a/backend/windmill-api/src/db.rs +++ b/backend/windmill-api/src/db.rs @@ -205,36 +205,46 @@ async fn fix_flow_versioning_migration( migrator: &mut CustomMigrator, db: &DB, ) -> Result<(), Error> { - migrator.lock().await?; + let has_done_migration = sqlx::query_scalar!( + "SELECT EXISTS(SELECT name FROM windmill_migrations WHERE name = 'fix_flow_versioning_2')", + ) + .fetch_one(db) + .await? + .unwrap_or(false); - if migrator - .list_applied_migrations() - .await? - .iter() - .any(|x| x.version == 20240630102146) - { - let has_done_migration = sqlx::query_scalar!( + if !has_done_migration { + migrator.lock().await?; + + if migrator + .list_applied_migrations() + .await? + .iter() + .any(|x| x.version == 20240630102146) + { + let has_done_migration = sqlx::query_scalar!( "SELECT EXISTS(SELECT name FROM windmill_migrations WHERE name = 'fix_flow_versioning_2')", ) .fetch_one(db) .await? .unwrap_or(false); - if !has_done_migration { - let query = include_str!("../../custom_migrations/fix_flow_versioning_2.sql"); - tracing::info!("Applying fix_flow_versioning_2.sql"); - let mut tx: sqlx::Transaction<'_, Postgres> = db.begin().await?; - tx.execute(query).await?; - tracing::info!("Applied fix_flow_versioning_2.sql"); - sqlx::query!("INSERT INTO windmill_migrations (name) VALUES ('fix_flow_versioning_2')") + if !has_done_migration { + let query = include_str!("../../custom_migrations/fix_flow_versioning_2.sql"); + tracing::info!("Applying fix_flow_versioning_2.sql"); + let mut tx: sqlx::Transaction<'_, Postgres> = db.begin().await?; + tx.execute(query).await?; + tracing::info!("Applied fix_flow_versioning_2.sql"); + sqlx::query!( + "INSERT INTO windmill_migrations (name) VALUES ('fix_flow_versioning_2')" + ) .execute(&mut *tx) .await?; - tx.commit().await?; + tx.commit().await?; + } } + + migrator.unlock().await?; } - - migrator.unlock().await?; - Ok(()) }