-- 创建一个名为data_analysis的数据库
create database if not exists data_analysis;
-- 切换到bi数据库
use data_analysis;

-- 创建一个名为users的表，用于存储用户信息
CREATE TABLE  if NOT EXISTS `user` (
                         `id` BIGINT NOT NULL  PRIMARY  KEY COMMENT '用户ID',
                         `user_account` VARCHAR(255) NOT NULL COMMENT '用户账号',
                         `user_password` VARCHAR(255) NOT NULL COMMENT '用户密码',
                         `user_name` VARCHAR(255) NOT NULL COMMENT '用户名称',
                         `user_avatar` VARCHAR(1024) DEFAULT NULL COMMENT '用户头像',
                         `user_role` CHAR(32) NOT NULL DEFAULT '用户' COMMENT '用户角色',
                         `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
                         `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
                         `delete_flag` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '删除标志,0:未删除,1:已删除'
) COMMENT='用户表';

-- 创建一个名为charts的表，用于存储图表信息
CREATE TABLE if NOT EXISTS `chart` (
                          `id` BIGINT NOT NULL PRIMARY KEY COMMENT '图表ID',
                          `name` varchar(128) NULL COMMENT '图表名称',
                          `analysis_target` TEXT NOT NULL COMMENT '分析目标',
                          `chart_data` TEXT NOT NULL COMMENT '图标数据',
                          `chart_type` VARCHAR(255) NOT NULL COMMENT '图标类型',
                          `generated_chart_data` TEXT COMMENT '生成的图表数据',
                          `analysis_conclusion` TEXT COMMENT '生成的分析结论',
                          `user_id` BIGINT NOT NULL COMMENT '创建用户ID',
                          `state` CHAR(32) NOT NULL DEFAULT '等待中' COMMENT '图表状态,等待中,生成中,成功,失败',
                          `execute_message` TEXT COMMENT '执行信息',
                          `created_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
                          `updated_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
                          `delete_flag` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '删除标志,0:未删除,1:已删除'
) COMMENT='图表表';
