# 此处替换为自己的 database
use {database};
CREATE TABLE `wuxing_section` (
`namespace` varchar(16) NOT NULL COMMENT "section 所在的 namespace",
`section_name` varchar(64) NOT NULL COMMENT "section 名称",
`section_version` varchar(16) NOT NULL COMMENT "section version",
`section_template` varchar(4096) NOT NULL COMMENT "section 模板,是个 json",
`section_md5` varchar(64) NOT NULL COMMENT "section 模板 md5 值",
`is_enabled` tinyint(1) NOT NULL COMMENT "section 是否是启用状态",
`user` varchar(32) NOT NULL COMMENT "操作用户",
`u_time` datetime NOT NULL COMMENT "更新时间",
`c_time` datetime NOT NULL COMMENT "创建时间",
PRIMARY KEY (`namespace`,`section_name`,`section_version`),
KEY `wuxingsection_section_md5` (`section_md5`),
KEY `wuxingsection_is_enabled` (`is_enabled`),
KEY `wuxingsection_user` (`user`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT "五行 section, 相当于 Python 中的类";
CREATE TABLE `wuxing_instance` (
`namespace` varchar(16) NOT NULL COMMENT "实例所在的 namespace",
`instance_name` varchar(64) NOT NULL COMMENT "instance 名称",
`instance_template` varchar(4096) NOT NULL COMMENT "instance 模板,在 section 模板基础上加了 item_id",
`section_name` varchar(64) NOT NULL COMMENT "instance 所绑定的 section",
`section_version` varchar(64) NOT NULL COMMENT "instance 所绑定的 section 版本",
`section_md5` varchar(64) NOT NULL COMMENT "section 模板 md5 值",
`is_valid` tinyint(1) NOT NULL COMMENT "是否有效,预留字段",
`c_time` datetime NOT NULL COMMENT "创建时间",
`u_time` datetime NOT NULL COMMENT "更新时间",
PRIMARY KEY (`namespace`,`instance_name`),
KEY `wuxinginstance_section_name` (`section_name`),
KEY `wuxinginstance_section_version` (`section_version`),
KEY `wuxinginstance_section_md5` (`section_md5`),
KEY `wuxinginstance_c_time` (`c_time`),
KEY `wuxinginstance_u_time` (`u_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT "五行 instance, 相当于 Python 中的类实例化后的对象";
CREATE TABLE `wuxing_instance_item` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT "主键,自增 id, 也就是 item_id",
`namespace` varchar(16) NOT NULL COMMENT "item 所在的 namespace",
`section_name` varchar(64) NOT NULL COMMENT "item 所在的 section_name",
`instance_name` varchar(64) NOT NULL COMMENT "item 所在的 instance_name",
`item_name` varchar(64) NOT NULL COMMENT "item 名称",
`item_type` varchar(64) NOT NULL COMMENT "item value 类型",
`item_value_bool` tinyint(1) DEFAULT NULL COMMENT "item 为 bool 时,此字段有值",
`item_value_float` double DEFAULT NULL COMMENT "item 为 float 时,此字段有值",
`item_value_int` int(11) DEFAULT NULL COMMENT "item 为 int 时,此字段有值",
`item_value_string` varchar(128) DEFAULT NULL COMMENT "item 为 string 时,此字段有值",
`item_value_text` varchar(20000) DEFAULT NULL COMMENT "item 为 text 时,此字段有值",
`user` varchar(32) NOT NULL COMMENT "操作用户",
`c_time` datetime NOT NULL COMMENT "创建时间",
`u_time` datetime NOT NULL COMMENT "更新时间",
PRIMARY KEY (`id`),
KEY `wuxinginstanceitem_namespace` (`namespace`),
KEY `wuxinginstanceitem_section_name` (`section_name`),
KEY `wuxinginstanceitem_instance_name` (`instance_name`),
KEY `wuxinginstanceitem_item_name` (`item_name`),
KEY `wuxinginstanceitem_item_type` (`item_type`),
KEY `wuxinginstanceitem_item_value_bool` (`item_value_bool`),
KEY `wuxinginstanceitem_item_value_float` (`item_value_float`),
KEY `wuxinginstanceitem_item_value_int` (`item_value_int`),
KEY `wuxinginstanceitem_item_value_string` (`item_value_string`),
KEY `wuxinginstanceitem_c_time` (`c_time`),
KEY `wuxinginstanceitem_u_time` (`u_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT "五行 instance item, 相当于 Python 中实例的属性";
CREATE TABLE `wuxing_history_bool` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT "主键,自增 id",
`item_id` int(11) NOT NULL COMMENT "item_id",
`item_value` tinyint(1) NOT NULL COMMENT "item value",
`cmd` varchar(8) NOT NULL COMMENT "变更操作命令/create/update",
`user` varchar(32) NOT NULL COMMENT "操作用户",
`c_time` datetime NOT NULL COMMENT "创建时间",
PRIMARY KEY (`id`),
KEY `wuxinghistorybool_item_id` (`item_id`)
KEY `wuxinghistorybool_c_time` (`c_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT "五行 bool 类型 item 数据变更历史";
CREATE TABLE `wuxing_history_float` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT "主键,自增 id",
`item_id` int(11) NOT NULL COMMENT "item_id",
`item_value` double NOT NULL COMMENT "item value",
`cmd` varchar(8) NOT NULL COMMENT "变更操作命令/create/update",
`user` varchar(32) NOT NULL COMMENT "操作用户",
`c_time` datetime NOT NULL COMMENT "创建时间",
PRIMARY KEY (`id`),
KEY `wuxinghistoryfloat_item_id` (`item_id`),
KEY `wuxinghistoryfloat_c_time` (`c_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT "五行 float 类型 item 数据变更历史";
CREATE TABLE `wuxing_history_int` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT "主键,自增 id",
`item_id` int(11) NOT NULL COMMENT "item_id",
`item_value` int(11) NOT NULL COMMENT "item value",
`cmd` varchar(8) NOT NULL COMMENT "变更操作命令/create/update",
`user` varchar(32) NOT NULL COMMENT "操作用户",
`c_time` datetime NOT NULL COMMENT "创建时间",
PRIMARY KEY (`id`),
KEY `wuxinghistoryint_item_id` (`item_id`),
KEY `wuxinghistoryint_c_time` (`c_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT "五行 int 类型 item 数据变更历史";
CREATE TABLE `wuxing_history_string` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT "主键,自增 id",
`item_id` int(11) NOT NULL COMMENT "item_id",
`item_value` varchar(128) NOT NULL COMMENT "item value",
`cmd` varchar(8) NOT NULL COMMENT "变更操作命令/create/update",
`user` varchar(32) NOT NULL COMMENT "操作用户",
`c_time` datetime NOT NULL COMMENT "创建时间",
PRIMARY KEY (`id`),
KEY `wuxinghistorystring_item_id` (`item_id`),
KEY `wuxinghistorystring_c_time` (`c_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT "五行 string 类型 item 数据变更历史";
CREATE TABLE `wuxing_history_text` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT "主键,自增 id",
`item_id` int(11) NOT NULL COMMENT "item_id",
`item_value` varchar(20000) NOT NULL COMMENT "item value",
`cmd` varchar(8) NOT NULL COMMENT "变更操作命令/create/update",
`user` varchar(32) NOT NULL COMMENT "操作用户",
`c_time` datetime NOT NULL COMMENT "创建时间",
PRIMARY KEY (`id`),
KEY `wuxinghistorytext_item_id` (`item_id`),
KEY `wuxinghistorytext_c_time` (`c_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT "五行 text 类型 item 数据变更历史";