blob: 2c24ae49a5e5f78f33dd2843bfb240201c13cd24 [file] [log] [blame]
use graph_dev;
-- ----------------------------
-- Table structure for `services`
-- ----------------------------
DROP TABLE IF EXISTS `services`;
CREATE TABLE `services` (
`id` integer NOT NULL AUTO_INCREMENT,
`service_name` varchar(64) NOT NULL,
`cluster` varchar(255) NOT NULL,
`hbase_table_name` varchar(255) NOT NULL,
`pre_split_size` integer NOT NULL default 0,
`hbase_table_ttl` integer,
PRIMARY KEY (`id`),
UNIQUE KEY `ux_service_name` (`service_name`),
INDEX `idx_cluster` (cluster(75))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Table structure for `services_columns`
-- ----------------------------
DROP TABLE IF EXISTS `service_columns`;
CREATE TABLE `service_columns` (
`id` integer NOT NULL AUTO_INCREMENT,
`service_id` integer NOT NULL,
`column_name` varchar(64) NOT NULL,
`column_type` varchar(8) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `ux_service_id_column_name` (`service_id`, `column_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE service_columns add FOREIGN KEY(service_id) REFERENCES services(id) ON DELETE CASCADE;
-- ----------------------------
-- Table structure for `column_metas`
-- ----------------------------
DROP TABLE IF EXISTS `column_metas`;
CREATE TABLE `column_metas` (
`id` integer NOT NULL AUTO_INCREMENT,
`column_id` integer NOT NULL,
`name` varchar(64) NOT NULL,
`seq` tinyint NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `ux_column_id_name` (`column_id`, `name`),
INDEX `idx_column_id_seq` (`column_id`, `seq`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE column_metas ADD FOREIGN KEY(column_id) REFERENCES service_columns(id) ON DELETE CASCADE;
-- ----------------------------
-- Table structure for `labels`
-- ----------------------------
DROP TABLE IF EXISTS `labels`;
CREATE TABLE `labels` (
`id` integer NOT NULL AUTO_INCREMENT,
`label` varchar(64) NOT NULL,
`src_service_id` integer NOT NULL,
`src_column_name` varchar(64) NOT NULL,
`src_column_type` varchar(8) NOT NULL,
`tgt_service_id` integer NOT NULL,
`tgt_column_name` varchar(64) NOT NULL,
`tgt_column_type` varchar(8) NOT NULL,
`is_directed` tinyint NOT NULL DEFAULT 1,
`service_name` varchar(64),
`service_id` integer NOT NULL,
`consistency_level` varchar(8) NOT NULL DEFAULT 'weak',
`hbase_table_name` varchar(255) NOT NULL DEFAULT 's2graph',
`hbase_table_ttl` integer,
`is_async` tinyint NOT NULL DEFAULT 0,
PRIMARY KEY (`id`),
UNIQUE KEY `ux_label` (`label`),
INDEX `idx_src_column_name` (`src_column_name`),
INDEX `idx_tgt_column_name` (`tgt_column_name`),
INDEX `idx_src_service_id` (`src_service_id`),
INDEX `idx_tgt_service_id` (`tgt_service_id`),
INDEX `idx_service_name` (`service_name`),
INDEX `idx_service_id` (`service_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE labels add FOREIGN KEY(service_id) REFERENCES services(id);
-- ----------------------------
-- Table structure for `label_metas`
-- ----------------------------
DROP TABLE IF EXISTS `label_metas`;
CREATE TABLE `label_metas` (
`id` integer NOT NULL AUTO_INCREMENT,
`label_id` integer NOT NULL,
`name` varchar(64) NOT NULL,
`seq` tinyint NOT NULL,
`default_value` varchar(64) NOT NULL,
`data_type` varchar(8) NOT NULL DEFAULT 'long',
`used_in_index` tinyint NOT NULL DEFAULT 0,
PRIMARY KEY (`id`),
UNIQUE KEY `ux_label_id_name` (`label_id`, `name`),
INDEX `idx_label_id_seq` (`label_id`, `seq`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE label_metas ADD FOREIGN KEY(label_id) REFERENCES labels(id) ON DELETE CASCADE;
-- ----------------------------
-- Table structure for `label_indices`
-- ----------------------------
DROP TABLE IF EXISTS `label_indices`;
CREATE TABLE `label_indices` (
`id` integer NOT NULL AUTO_INCREMENT,
`label_id` integer NOT NULL,
`seq` tinyint NOT NULL,
`meta_seqs` varchar(64) NOT NULL,
`formulars` varchar(255),
PRIMARY KEY (`id`),
UNIQUE KEY `ux_label_id_seq` (`label_id`, `meta_seqs`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE label_indices ADD FOREIGN KEY(label_id) REFERENCES labels(id) ON DELETE CASCADE;