v0.5.134: восстановление записей, кнопка удалённых, время МСК

This commit is contained in:
2026-06-16 04:39:21 +04:00
parent f0743c6bfe
commit 86a39c7881
8 changed files with 86 additions and 10 deletions
+17 -1
View File
@@ -46,7 +46,7 @@ async function ensureSchema(pool) {
id SERIAL PRIMARY KEY,
user_email VARCHAR(255) NOT NULL,
company_id INTEGER NOT NULL,
action VARCHAR(32) NOT NULL CHECK (action IN ('CREATE','UPDATE','DELETE')),
action VARCHAR(32) NOT NULL CHECK (action IN ('CREATE','UPDATE','DELETE','RESTORE')),
old_value TEXT,
new_value TEXT,
entry_id INTEGER,
@@ -56,6 +56,22 @@ async function ensureSchema(pool) {
CREATE INDEX IF NOT EXISTS idx_audit_log_company_time
ON audit_log(company_id, created_at DESC);
-- Миграция: добавить RESTORE в CHECK (если ещё нет)
DO $$
DECLARE
cn text;
BEGIN
SELECT con.conname INTO cn
FROM pg_constraint con
JOIN pg_class rel ON rel.oid = con.conrelid
WHERE rel.relname = 'audit_log' AND con.contype = 'c';
IF cn IS NOT NULL THEN
EXECUTE 'ALTER TABLE audit_log DROP CONSTRAINT ' || cn;
END IF;
EXECUTE 'ALTER TABLE audit_log ADD CONSTRAINT audit_log_action_check CHECK (action IN (''CREATE'',''UPDATE'',''DELETE'',''RESTORE''))';
END;
$$;
`);
console.log('[db] Schema ensured');