unified_dashboard/mysql.ddl.sql
yumoqing aec650dcef sync: local modifications to unified_dashboard
- Updated core.py, init.py, mysql.ddl.sql
- Added __init__.py
- Added API files: dashboard_kpi, report_list
- Added UI files: base.ui, dashboard.ui, reports.ui
2026-04-28 18:55:07 +08:00

50 lines
2.6 KiB
SQL

-- Table from dashboard_config.json
CREATE TABLE IF NOT EXISTS `dashboard_config` (
`id` VARCHAR(32) NOT NULL COMMENT '主键UUID',
`dashboard_name` VARCHAR(100) COMMENT '仪表板显示名称',
`dashboard_type` VARCHAR(50) COMMENT 'sales/finance/customer/executive',
`config_json` VARCHAR(2000) COMMENT '仪表板布局和组件配置',
`is_default` VARCHAR(1) COMMENT 'Y/N',
`org_id` VARCHAR(32) COMMENT '多租户组织隔离',
`created_by` VARCHAR(32) COMMENT '创建用户ID',
`created_at` TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='仪表板配置';
CREATE INDEX `idx_dashboard_org` ON `dashboard_config` (`org_id`);
CREATE INDEX `idx_dashboard_type` ON `dashboard_config` (`dashboard_type`);
CREATE UNIQUE INDEX `uk_dashboard_name_org` ON `dashboard_config` (`dashboard_name`, `org_id`);
-- Table from report_template.json
CREATE TABLE IF NOT EXISTS `report_template` (
`id` VARCHAR(32) NOT NULL COMMENT '主键UUID',
`template_name` VARCHAR(100) COMMENT '报表模板名称',
`report_type` VARCHAR(50) COMMENT 'sales/finance/customer/contract',
`sql_query` VARCHAR(2000) COMMENT '报表数据查询SQL',
`columns_config` VARCHAR(1000) NOT NULL COMMENT 'JSON格式的列配置',
`filters_config` VARCHAR(1000) NOT NULL COMMENT 'JSON格式的过滤器配置',
`chart_config` VARCHAR(1000) NOT NULL COMMENT 'JSON格式的图表配置',
`org_id` VARCHAR(32) COMMENT '多租户组织隔离',
`created_by` VARCHAR(32) COMMENT '创建用户ID',
`created_at` TIMESTAMP COMMENT '创建时间',
`is_active` VARCHAR(1) COMMENT 'Y/N',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='报表模板';
CREATE INDEX `idx_template_org` ON `report_template` (`org_id`);
CREATE INDEX `idx_template_type` ON `report_template` (`report_type`);
-- Table from user_dashboard.json
CREATE TABLE IF NOT EXISTS `user_dashboard` (
`id` VARCHAR(32) NOT NULL COMMENT '主键UUID',
`user_id` VARCHAR(32) COMMENT '关联用户',
`dashboard_config_id` VARCHAR(32) COMMENT '关联的仪表板配置',
`layout_json` VARCHAR(2000) NOT NULL COMMENT '用户自定义布局',
`is_favorite` VARCHAR(1) COMMENT 'Y/N',
`org_id` VARCHAR(32) COMMENT '多租户组织隔离',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户仪表板';
CREATE UNIQUE INDEX `idx_user_dashboard_user` ON `user_dashboard` (`user_id`, `dashboard_config_id`);
CREATE INDEX `idx_user_dashboard_org` ON `user_dashboard` (`org_id`);