CREATE TABLE `data_source_table_field`
(
    `field_id`      bigint(20)   NOT NULL AUTO_INCREMENT COMMENT '主键自增，字段标识',
    `table_id`      bigint(20)   NOT NULL COMMENT '数据源表标识，外键关联数据源表',
    `tenant_id`     bigint(20)   NOT NULL COMMENT '租户标识，外键关联租户表',
    `project_id`    bigint(20)   NOT NULL COMMENT '项目标识，外键关联项目表',
    `field_name`    varchar(255) NOT NULL COMMENT '字段名称，表内唯一',
    `field_seq`     int(2)       NOT NULL COMMENT '字段序号',
    `field_type`    varchar(100) NOT NULL COMMENT '字段类型',
    `field_comment` varchar(2000)         DEFAULT NULL COMMENT '字段备注',
    `primary_key`   char(1)               DEFAULT 'n' COMMENT '是否主键，y是主键，n不是主键',
    `partition_key` char(1)               DEFAULT 'n' COMMENT '是否分区键，y是分区键，n不是分区键',
    `length`        bigint(20)            DEFAULT NULL COMMENT '字段长度',
    `scale`         int(2)                DEFAULT 6 COMMENT '字段精度',
    `remark`        varchar(255)          DEFAULT NULL COMMENT '备注信息',
    `creator_id`    bigint(20)   NOT NULL COMMENT '创建人标识，外键关联用户表',
    `create_time`   datetime     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `modifier_id`   bigint(20)   NOT NULL COMMENT '修改人标识，外键关联用户表',
    `modify_time`   datetime     NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
    `record_state`  char(1)      NOT NULL DEFAULT 'y' COMMENT '记录状态，y有效数据，n已删除数据',
    `precision`     bigint(20)            DEFAULT NULL COMMENT '精度',
    PRIMARY KEY (`field_id`),
    KEY `table_id` (`table_id`),
    KEY `idx_field` (`table_id`, `field_name`),
    KEY `idx_par_key` (`table_id`, `partition_key`, `record_state`)
) DEFAULT CHARSET = utf8mb4 COMMENT ='数据表字段信息，包括字段名称、类型、长度、精度、备注等';
