diff --git a/internal/testutil/testutil.go b/internal/testutil/testutil.go index 58a0e0f..f00d5a5 100644 --- a/internal/testutil/testutil.go +++ b/internal/testutil/testutil.go @@ -80,6 +80,7 @@ func TruncateAll(t *testing.T, pool *pgxpool.Pool) { _, err := pool.Exec(context.Background(), ` TRUNCATE + settings_overrides, module_state, job_log, jobs, job_definitions, runners, dag_cross_edges, dag_edges, dag_nodes, audit_log, sync_log, api_tokens, sessions, item_files, diff --git a/migrations/016_module_system.sql b/migrations/016_module_system.sql new file mode 100644 index 0000000..52aa47b --- /dev/null +++ b/migrations/016_module_system.sql @@ -0,0 +1,15 @@ +-- 016_module_system.sql — settings overrides and module state persistence + +CREATE TABLE IF NOT EXISTS settings_overrides ( + key TEXT PRIMARY KEY, + value JSONB NOT NULL, + updated_by TEXT NOT NULL, + updated_at TIMESTAMPTZ NOT NULL DEFAULT now() +); + +CREATE TABLE IF NOT EXISTS module_state ( + module_id TEXT PRIMARY KEY, + enabled BOOLEAN NOT NULL, + updated_by TEXT NOT NULL, + updated_at TIMESTAMPTZ NOT NULL DEFAULT now() +);