accounts/account/sql/20251005.migrate.admin-settings.sql
root e8635c1758 chore(sql,pglogical): migrate schema for pglogical compatibility & cleanup
- rename old migration files to standard *.migrate.*.sql
- add 20251008.migrate.generated-columns.sql (fix generated columns)
- update Makefile for MIGRATION_FILES auto-detection
- add sql/readme.md & generate-postgres-tls.sh
- cleanup deprecated git-branch-keeper.sh
- update pglogical.md and setup_ubuntu_2204.sh
2025-10-08 19:45:20 +08:00

24 lines
749 B
PL/PgSQL

-- Migration: create admin_settings table for permission matrix
BEGIN;
CREATE TABLE IF NOT EXISTS admin_settings (
id BIGSERIAL PRIMARY KEY,
module_key TEXT NOT NULL,
role TEXT NOT NULL,
enabled BOOLEAN NOT NULL DEFAULT FALSE,
version BIGINT NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
CONSTRAINT admin_settings_module_role_uk UNIQUE (module_key, role)
);
CREATE INDEX IF NOT EXISTS idx_admin_settings_version ON admin_settings (version);
DROP TRIGGER IF EXISTS trg_admin_settings_set_updated_at ON admin_settings;
CREATE TRIGGER trg_admin_settings_set_updated_at
BEFORE UPDATE ON admin_settings
FOR EACH ROW EXECUTE FUNCTION set_updated_at();
COMMIT;