36 lines
2.7 KiB
SQL
36 lines
2.7 KiB
SQL
-- 商户结账关系:在钱包业务库执行;微服务通常为 pjcloudx_wallet,单体以实际业务库为准。
|
|
-- 仅新增两表,不改写商户和历史结账数据。MySQL 8;重复执行不会重复建表。
|
|
-- 主表逻辑删除,绑定表仅保存当前有效占用;历史财务依据应另存账单快照。
|
|
|
|
CREATE TABLE IF NOT EXISTS `mch_checkout_relation`
|
|
(
|
|
`id` BIGINT NOT NULL COMMENT '关系主键,应用分配雪花ID',
|
|
`intermediary_name` VARCHAR(100) NOT NULL COMMENT '中间方名称,保存前去除首尾空格',
|
|
`remark` VARCHAR(500) DEFAULT NULL COMMENT '关系备注',
|
|
`version` INT NOT NULL DEFAULT 0 COMMENT '并发版本,每次修改递增',
|
|
`tenant_id` BIGINT NOT NULL COMMENT '所属租户,服务端确定',
|
|
`del_flag` CHAR(1) NOT NULL DEFAULT '0' COMMENT '0有效,1已删除',
|
|
`active_name` VARCHAR(100) GENERATED ALWAYS AS
|
|
(CASE WHEN `del_flag` = '0' THEN `intermediary_name` ELSE NULL END) STORED COMMENT '有效名称唯一键,删除后释放',
|
|
`create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建人账号',
|
|
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间,服务端时区',
|
|
`update_by` VARCHAR(64) DEFAULT NULL COMMENT '最后修改人账号',
|
|
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后修改时间,服务端时区',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uk_mch_checkout_relation_name` (`tenant_id`, `active_name`),
|
|
KEY `idx_mch_checkout_relation_page` (`tenant_id`, `del_flag`, `create_time`, `id`)
|
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商户结账关系主体';
|
|
|
|
CREATE TABLE IF NOT EXISTS `mch_checkout_relation_merchant`
|
|
(
|
|
`id` BIGINT NOT NULL COMMENT '绑定主键,应用分配雪花ID',
|
|
`relation_id` BIGINT NOT NULL COMMENT '当前结账关系ID,同租户主表主键',
|
|
`merchant_id` BIGINT NOT NULL COMMENT '商户ID,引用同租户mch_manage.id',
|
|
`tenant_id` BIGINT NOT NULL COMMENT '所属租户,服务端确定',
|
|
`create_by` VARCHAR(64) DEFAULT NULL COMMENT '本次绑定操作人账号',
|
|
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '本次绑定时间,服务端时区',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uk_mch_checkout_relation_merchant` (`tenant_id`, `merchant_id`),
|
|
KEY `idx_mch_checkout_relation_members` (`tenant_id`, `relation_id`, `merchant_id`)
|
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商户结账当前有效绑定';
|