From 6ba02002cd856624f4dd126e14281757f936c672 Mon Sep 17 00:00:00 2001 From: Diego Imbert Date: Wed, 17 Jun 2026 10:20:51 +0200 Subject: [PATCH] feat: add datatable_migrations table --- ...20260617081932_datatable_migrations.down.sql | 1 + .../20260617081932_datatable_migrations.up.sql | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 backend/migrations/20260617081932_datatable_migrations.down.sql create mode 100644 backend/migrations/20260617081932_datatable_migrations.up.sql diff --git a/backend/migrations/20260617081932_datatable_migrations.down.sql b/backend/migrations/20260617081932_datatable_migrations.down.sql new file mode 100644 index 0000000000..26efc2bdcc --- /dev/null +++ b/backend/migrations/20260617081932_datatable_migrations.down.sql @@ -0,0 +1 @@ +DROP TABLE datatable_migrations; diff --git a/backend/migrations/20260617081932_datatable_migrations.up.sql b/backend/migrations/20260617081932_datatable_migrations.up.sql new file mode 100644 index 0000000000..c1d9c98254 --- /dev/null +++ b/backend/migrations/20260617081932_datatable_migrations.up.sql @@ -0,0 +1,17 @@ +-- SQL migrations defined per workspace for data tables. +-- `timestamp` is the migration version (YYYYMMDDHHMMSS), recorded as `version` +-- in the data table's `_wm_migrations` table once applied. +CREATE TABLE datatable_migrations ( + workspace_id VARCHAR(50) NOT NULL REFERENCES workspace(id) ON DELETE CASCADE, + timestamp BIGINT NOT NULL, + name VARCHAR(255) NOT NULL, + code_up TEXT NOT NULL, + code_down TEXT, + PRIMARY KEY (workspace_id, timestamp) +); + +-- No standalone index on workspace_id: the (workspace_id, timestamp) primary-key +-- btree already serves `WHERE workspace_id = $1` lookups via its leading column. + +GRANT ALL ON datatable_migrations TO windmill_user; +GRANT ALL ON datatable_migrations TO windmill_admin;