diff --git a/backend/.sqlx/query-98f03bde861caf75a4a98457fe9dc1c25362de35ef086731095bac0e7e679a48.json b/backend/.sqlx/query-98f03bde861caf75a4a98457fe9dc1c25362de35ef086731095bac0e7e679a48.json deleted file mode 100644 index 8cf1c0b2ee..0000000000 --- a/backend/.sqlx/query-98f03bde861caf75a4a98457fe9dc1c25362de35ef086731095bac0e7e679a48.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "INSERT INTO datatable_migrations (workspace_id, datatable, timestamp, name, code_up, code_down) SELECT $1, * FROM UNNEST($2::varchar[], $3::bigint[], $4::varchar[], $5::text[], $6::text[])", - "describe": { - "columns": [], - "parameters": { - "Left": [ - "Varchar", - "VarcharArray", - "Int8Array", - "VarcharArray", - "TextArray", - "TextArray" - ] - }, - "nullable": [] - }, - "hash": "98f03bde861caf75a4a98457fe9dc1c25362de35ef086731095bac0e7e679a48" -} diff --git a/backend/.sqlx/query-c5d7ecfb865d05cee3d9d185cfee424163ea4693684bbf9c511c0c5afb6537f1.json b/backend/.sqlx/query-c5d7ecfb865d05cee3d9d185cfee424163ea4693684bbf9c511c0c5afb6537f1.json deleted file mode 100644 index d123ace48f..0000000000 --- a/backend/.sqlx/query-c5d7ecfb865d05cee3d9d185cfee424163ea4693684bbf9c511c0c5afb6537f1.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "DELETE FROM datatable_migrations WHERE workspace_id = $1", - "describe": { - "columns": [], - "parameters": { - "Left": [ - "Text" - ] - }, - "nullable": [] - }, - "hash": "c5d7ecfb865d05cee3d9d185cfee424163ea4693684bbf9c511c0c5afb6537f1" -} diff --git a/backend/windmill-api-workspaces/src/datatable_migrations.rs b/backend/windmill-api-workspaces/src/datatable_migrations.rs index c949239a06..93f6674441 100644 --- a/backend/windmill-api-workspaces/src/datatable_migrations.rs +++ b/backend/windmill-api-workspaces/src/datatable_migrations.rs @@ -51,10 +51,6 @@ pub(crate) fn routes() -> Router { post(rollback_datatable_migrations), ) .route("/list_datatable_migrations", get(list_datatable_migrations)) - .route( - "/update_datatable_migrations", - post(update_datatable_migrations), - ) .route( "/datatable_migrations_status/{datatable_name}", get(datatable_migrations_status), @@ -513,84 +509,6 @@ async fn list_datatable_migrations( Ok(Json(migrations)) } -#[derive(Deserialize)] -pub struct UpdateDatatableMigrations { - pub migrations: Vec, -} - -/// Replace the workspace's whole set of data table migrations with the provided -/// list. Used by `wmill sync` to push the `migrations/datatable/` folder. -async fn update_datatable_migrations( - authed: ApiAuthed, - Extension(db): Extension, - Path(w_id): Path, - Json(payload): Json, -) -> Result { - for m in &payload.migrations { - validate_datatable_path_segment(&m.datatable)?; - validate_migration_name(&m.name)?; - } - - let datatables: Vec = payload - .migrations - .iter() - .map(|m| m.datatable.clone()) - .collect(); - let timestamps: Vec = payload.migrations.iter().map(|m| m.timestamp).collect(); - let names: Vec = payload.migrations.iter().map(|m| m.name.clone()).collect(); - let code_ups: Vec = payload - .migrations - .iter() - .map(|m| m.code_up.clone()) - .collect(); - let code_downs: Vec> = payload - .migrations - .iter() - .map(|m| m.code_down.clone()) - .collect(); - - let mut tx = db.begin().await?; - - sqlx::query!( - "DELETE FROM datatable_migrations WHERE workspace_id = $1", - &w_id - ) - .execute(&mut *tx) - .await?; - - sqlx::query!( - "INSERT INTO datatable_migrations (workspace_id, datatable, timestamp, name, code_up, code_down) \ - SELECT $1, * FROM UNNEST($2::varchar[], $3::bigint[], $4::varchar[], $5::text[], $6::text[])", - &w_id, - &datatables, - ×tamps, - &names, - &code_ups, - &code_downs as &[Option], - ) - .execute(&mut *tx) - .await?; - - audit_log( - &mut *tx, - &authed, - "workspaces.update_datatable_migrations", - ActionKind::Update, - &w_id, - Some(&authed.email), - Some([("count", payload.migrations.len().to_string().as_str())].into()), - ) - .await?; - - tx.commit().await?; - - Ok(format!( - "Updated {} datatable migration(s) for workspace {}", - payload.migrations.len(), - &w_id - )) -} - #[derive(Serialize)] #[serde(rename_all = "snake_case")] enum DatatableMigrationRunStatus { diff --git a/backend/windmill-api/openapi.yaml b/backend/windmill-api/openapi.yaml index 75ab6f1240..d6f979764d 100644 --- a/backend/windmill-api/openapi.yaml +++ b/backend/windmill-api/openapi.yaml @@ -4728,34 +4728,6 @@ paths: items: $ref: "#/components/schemas/DatatableMigration" - /w/{workspace}/workspaces/update_datatable_migrations: - post: - summary: replace the workspace's datatable migrations - operationId: updateDatatableMigrations - tags: - - workspace - parameters: - - $ref: "#/components/parameters/WorkspaceId" - requestBody: - required: true - content: - application/json: - schema: - type: object - required: [migrations] - properties: - migrations: - type: array - items: - $ref: "#/components/schemas/DatatableMigration" - responses: - "200": - description: status - content: - text/plain: - schema: - type: string - /w/{workspace}/workspaces/datatable_migrations_status/{datatable_name}: get: summary: list a datatable's migrations with their applied status