重构数据引擎和报表引擎
This commit is contained in:
117
sql/report_add_tenant_id.sql
Normal file
117
sql/report_add_tenant_id.sql
Normal file
@@ -0,0 +1,117 @@
|
||||
-- ============================================================
|
||||
-- 报表系统表 - 新增 tenant_id 迁移脚本
|
||||
-- 为已存在的5张报表系统表添加租户隔离字段
|
||||
-- 执行前请确认当前数据库中表是否存在
|
||||
-- ============================================================
|
||||
|
||||
-- ----------------------------------------------------------
|
||||
-- 1. report_business_config (业务配置表)
|
||||
-- ----------------------------------------------------------
|
||||
|
||||
-- 添加 tenant_id 列
|
||||
ALTER TABLE IF EXISTS report_business_config
|
||||
ADD COLUMN IF NOT EXISTS tenant_id BIGINT NOT NULL DEFAULT 0;
|
||||
|
||||
-- 重建唯一索引(加入 tenant_id)
|
||||
DROP INDEX IF EXISTS idx_business_code;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_business_code
|
||||
ON report_business_config (tenant_id, business_code);
|
||||
|
||||
COMMENT ON COLUMN report_business_config.tenant_id IS '租户ID';
|
||||
|
||||
|
||||
-- ----------------------------------------------------------
|
||||
-- 2. report_report_config (报表配置表)
|
||||
-- ----------------------------------------------------------
|
||||
|
||||
-- 添加 tenant_id 列
|
||||
ALTER TABLE IF EXISTS report_report_config
|
||||
ADD COLUMN IF NOT EXISTS tenant_id BIGINT NOT NULL DEFAULT 0;
|
||||
|
||||
-- 重建唯一约束(加入 tenant_id)
|
||||
ALTER TABLE IF EXISTS report_report_config
|
||||
DROP CONSTRAINT IF EXISTS uk_business_report_code;
|
||||
ALTER TABLE IF EXISTS report_report_config
|
||||
ADD CONSTRAINT uk_business_report_code UNIQUE (tenant_id, business_code, report_code);
|
||||
|
||||
-- 重建索引
|
||||
DROP INDEX IF EXISTS idx_report_business_code;
|
||||
CREATE INDEX IF NOT EXISTS idx_report_business_code
|
||||
ON report_report_config (tenant_id, business_code);
|
||||
|
||||
COMMENT ON COLUMN report_report_config.tenant_id IS '租户ID';
|
||||
|
||||
|
||||
-- ----------------------------------------------------------
|
||||
-- 3. report_field_config (字段配置表)
|
||||
-- ----------------------------------------------------------
|
||||
|
||||
-- 添加 tenant_id 列
|
||||
ALTER TABLE IF EXISTS report_field_config
|
||||
ADD COLUMN IF NOT EXISTS tenant_id BIGINT NOT NULL DEFAULT 0;
|
||||
|
||||
-- 重建唯一约束(加入 tenant_id)
|
||||
ALTER TABLE IF EXISTS report_field_config
|
||||
DROP CONSTRAINT IF EXISTS uk_business_report_field_code;
|
||||
ALTER TABLE IF EXISTS report_field_config
|
||||
ADD CONSTRAINT uk_business_report_field_code UNIQUE (tenant_id, business_code, report_code, field_code);
|
||||
|
||||
-- 重建索引
|
||||
DROP INDEX IF EXISTS idx_field_business_report;
|
||||
CREATE INDEX IF NOT EXISTS idx_field_business_report
|
||||
ON report_field_config (tenant_id, business_code, report_code);
|
||||
DROP INDEX IF EXISTS idx_field_data_type;
|
||||
CREATE INDEX IF NOT EXISTS idx_field_data_type
|
||||
ON report_field_config (tenant_id, data_type);
|
||||
DROP INDEX IF EXISTS idx_field_field_role;
|
||||
CREATE INDEX IF NOT EXISTS idx_field_field_role
|
||||
ON report_field_config (tenant_id, field_role);
|
||||
|
||||
COMMENT ON COLUMN report_field_config.tenant_id IS '租户ID';
|
||||
|
||||
|
||||
-- ----------------------------------------------------------
|
||||
-- 4. report_extract_config (抽取配置表)
|
||||
-- ----------------------------------------------------------
|
||||
|
||||
-- 添加 tenant_id 列
|
||||
ALTER TABLE IF EXISTS report_extract_config
|
||||
ADD COLUMN IF NOT EXISTS tenant_id BIGINT NOT NULL DEFAULT 0;
|
||||
|
||||
-- 重建唯一约束(加入 tenant_id)
|
||||
ALTER TABLE IF EXISTS report_extract_config
|
||||
DROP CONSTRAINT IF EXISTS uk_business_report_extract_code;
|
||||
ALTER TABLE IF EXISTS report_extract_config
|
||||
ADD CONSTRAINT uk_business_report_extract_code UNIQUE (tenant_id, business_code, report_code, extract_code);
|
||||
|
||||
-- 重建索引
|
||||
DROP INDEX IF EXISTS idx_extract_business_report;
|
||||
CREATE INDEX IF NOT EXISTS idx_extract_business_report
|
||||
ON report_extract_config (tenant_id, business_code, report_code);
|
||||
|
||||
COMMENT ON COLUMN report_extract_config.tenant_id IS '租户ID';
|
||||
|
||||
|
||||
-- ----------------------------------------------------------
|
||||
-- 5. report_extract_log (抽取记录表)
|
||||
-- ----------------------------------------------------------
|
||||
|
||||
-- 添加 tenant_id 列
|
||||
ALTER TABLE IF EXISTS report_extract_log
|
||||
ADD COLUMN IF NOT EXISTS tenant_id BIGINT NOT NULL DEFAULT 0;
|
||||
|
||||
-- 重建唯一约束(加入 tenant_id)
|
||||
ALTER TABLE IF EXISTS report_extract_log
|
||||
DROP CONSTRAINT IF EXISTS uk_extract_keys;
|
||||
ALTER TABLE IF EXISTS report_extract_log
|
||||
ADD CONSTRAINT uk_extract_keys UNIQUE (tenant_id, business_code, report_code, extract_code, stat_date);
|
||||
|
||||
-- 重建索引
|
||||
DROP INDEX IF EXISTS idx_extract_log_business_report;
|
||||
CREATE INDEX IF NOT EXISTS idx_extract_log_business_report
|
||||
ON report_extract_log (tenant_id, business_code, report_code);
|
||||
DROP INDEX IF EXISTS idx_extract_log_stat_date;
|
||||
CREATE INDEX IF NOT EXISTS idx_extract_log_stat_date
|
||||
ON report_extract_log (tenant_id, stat_date);
|
||||
|
||||
COMMENT ON COLUMN report_extract_log.tenant_id IS '租户ID';
|
||||
Reference in New Issue
Block a user