26 lines
949 B
SQL
26 lines
949 B
SQL
-- ECR-034 PrivacyRequest (read catalog)
|
|
|
|
CREATE TABLE IF NOT EXISTS privacy_requests (
|
|
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
code varchar(64) NOT NULL UNIQUE,
|
|
title varchar(128) NOT NULL,
|
|
kind varchar(32) NOT NULL CHECK (kind IN ('export','erase')),
|
|
status varchar(32) NOT NULL CHECK (status IN ('open','closed')),
|
|
active boolean NOT NULL DEFAULT true,
|
|
system boolean NOT NULL DEFAULT false,
|
|
created_at timestamptz NOT NULL DEFAULT now(),
|
|
updated_at timestamptz NOT NULL DEFAULT now()
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_privacy_requests_active ON privacy_requests(active);
|
|
|
|
INSERT INTO privacy_requests(code, title, kind, status, active, system)
|
|
VALUES ('demo_export_req', '示例数据导出请求', 'export', 'closed', true, true)
|
|
ON CONFLICT (code) DO NOTHING;
|
|
|
|
INSERT INTO admin_role_permissions(role_id, code)
|
|
SELECT r.id, 'admin.privacy.read'
|
|
FROM admin_roles r
|
|
WHERE r.name = 'super_admin'
|
|
ON CONFLICT DO NOTHING;
|