feat(db): add maintenance_policy migration 000025

Добавлены таблицы maintenance_policy и maintenance_policy_config_audit для postgres и sqlite; в postgres_maintenance_audit — колонка policy_id.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Denozordec
2026-06-12 13:19:27 +07:00
co-authored by Cursor
parent 480756d832
commit 948dac34fd
4 changed files with 88 additions and 0 deletions
@@ -0,0 +1,5 @@
ALTER TABLE postgres_maintenance_audit DROP COLUMN policy_id;
DROP TABLE IF EXISTS maintenance_policy_config_audit;
DROP TABLE IF EXISTS maintenance_policy;
@@ -0,0 +1,29 @@
CREATE TABLE IF NOT EXISTS maintenance_policy (
id TEXT PRIMARY KEY,
name TEXT NOT NULL,
table_name TEXT NOT NULL,
condition_sql TEXT NOT NULL DEFAULT 'true',
retention_period_sec INTEGER,
max_rows INTEGER,
vacuum_strategy TEXT NOT NULL DEFAULT 'none',
schedule_cron TEXT NOT NULL,
enabled INTEGER NOT NULL DEFAULT 1,
dry_run_enabled INTEGER NOT NULL DEFAULT 0,
last_run_at TEXT,
last_status TEXT,
last_error TEXT,
created_at TEXT NOT NULL,
updated_at TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS maintenance_policy_config_audit (
id TEXT PRIMARY KEY,
policy_id TEXT,
actor_prefix TEXT NOT NULL,
action TEXT NOT NULL,
before_json TEXT,
after_json TEXT,
created_at TEXT NOT NULL
);
ALTER TABLE postgres_maintenance_audit ADD COLUMN policy_id TEXT;