From 2fa174ef304a62cce73b678e1bea9324cfd9d7d2 Mon Sep 17 00:00:00 2001 From: NicoYuan1986 <109071306+NicoYuan1986@users.noreply.github.com> Date: Fri, 2 Sep 2022 18:39:00 +0800 Subject: [PATCH] Update the database initialization script for nightly test (#18997) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: “nico” Signed-off-by: “nico” --- tests/scripts/values/mysql.yaml | 534 ++++++++++++++++---------------- 1 file changed, 269 insertions(+), 265 deletions(-) diff --git a/tests/scripts/values/mysql.yaml b/tests/scripts/values/mysql.yaml index 365f25beda..8636263bed 100644 --- a/tests/scripts/values/mysql.yaml +++ b/tests/scripts/values/mysql.yaml @@ -1,265 +1,269 @@ --- create database -CREATE DATABASE if not exists milvus_meta CHARACTER SET utf8mb4; - -/* - create tables script - - Notices: - 1. id, tenant_id, is_deleted, created_at, updated_at are 5 common columns for all collections. - 2. Query index in community version CANNOT includes tenant_id, since tenant_id is not existed and will miss query index. - */ - --- collections -CREATE TABLE if not exists milvus_meta.collections ( - id BIGINT NOT NULL AUTO_INCREMENT, - tenant_id VARCHAR(128) DEFAULT NULL, - collection_id BIGINT NOT NULL, - collection_name VARCHAR(256), - description VARCHAR(2048) DEFAULT NULL, - auto_id BOOL DEFAULT FALSE, - shards_num INT, - start_position TEXT, - consistency_level INT, - ts BIGINT UNSIGNED DEFAULT 0, - is_deleted BOOL DEFAULT FALSE, - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, - PRIMARY KEY (id), - UNIQUE KEY uk_tenant_id_collection_id_ts (tenant_id, collection_id, ts) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- collection aliases -CREATE TABLE if not exists milvus_meta.collection_aliases ( - id BIGINT NOT NULL AUTO_INCREMENT, - tenant_id VARCHAR(128) DEFAULT NULL, - collection_id BIGINT NOT NULL, - collection_alias VARCHAR(128), - ts BIGINT UNSIGNED DEFAULT 0, - is_deleted BOOL DEFAULT FALSE, - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, - PRIMARY KEY (id), - UNIQUE KEY uk_tenant_id_collection_alias_ts (tenant_id, collection_alias, ts), - INDEX idx_tenant_id_collection_id_ts (tenant_id, collection_id, ts) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- channels -CREATE TABLE if not exists milvus_meta.collection_channels ( - id BIGINT NOT NULL AUTO_INCREMENT, - tenant_id VARCHAR(128) DEFAULT NULL, - collection_id BIGINT NOT NULL, - virtual_channel_name VARCHAR(256) NOT NULL, - physical_channel_name VARCHAR(256) NOT NULL, - removed BOOL DEFAULT FALSE, - ts BIGINT UNSIGNED DEFAULT 0, - is_deleted BOOL DEFAULT FALSE, - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, - PRIMARY KEY (id), - UNIQUE KEY uk_tenant_id_collection_id_virtual_channel_name_ts (tenant_id, collection_id, virtual_channel_name, ts), - INDEX idx_tenant_id_collection_id_ts (tenant_id, collection_id, ts) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- fields -CREATE TABLE if not exists milvus_meta.field_schemas ( - id BIGINT NOT NULL AUTO_INCREMENT, - tenant_id VARCHAR(128) DEFAULT NULL, - field_id BIGINT NOT NULL, - field_name VARCHAR(256) NOT NULL, - is_primary_key BOOL NOT NULL, - description VARCHAR(2048) DEFAULT NULL, - data_type INT UNSIGNED NOT NULL, - type_params VARCHAR(2048), - index_params VARCHAR(2048), - auto_id BOOL NOT NULL, - collection_id BIGINT NOT NULL, - ts BIGINT UNSIGNED DEFAULT 0, - is_deleted BOOL DEFAULT FALSE, - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, - PRIMARY KEY (id), - UNIQUE KEY uk_tenant_id_collection_id_field_name_ts (tenant_id, collection_id, field_name, ts), - INDEX idx_tenant_id_collection_id_field_id_ts (tenant_id, collection_id, field_id, ts) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- partitions -CREATE TABLE if not exists milvus_meta.`partitions` ( - id BIGINT NOT NULL AUTO_INCREMENT, - tenant_id VARCHAR(128) DEFAULT NULL, - partition_id BIGINT NOT NULL, - partition_name VARCHAR(256), - partition_created_timestamp bigint unsigned, - collection_id BIGINT NOT NULL, - ts BIGINT UNSIGNED DEFAULT 0, - is_deleted BOOL DEFAULT FALSE, - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, - PRIMARY KEY (id), - UNIQUE KEY uk_tenant_id_collection_id_partition_name_ts (tenant_id, collection_id, partition_name, ts), - INDEX idx_tenant_id_collection_id_partition_id_ts (tenant_id, collection_id, partition_id, ts) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- indexes -CREATE TABLE if not exists milvus_meta.`indexes` ( - id BIGINT NOT NULL AUTO_INCREMENT, - tenant_id VARCHAR(128) DEFAULT NULL, - field_id BIGINT NOT NULL, - collection_id BIGINT NOT NULL, - index_id BIGINT NOT NULL, - index_name VARCHAR(256), - index_params VARCHAR(2048), - create_time bigint unsigned, - is_deleted BOOL DEFAULT FALSE, - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, - PRIMARY KEY (id), - INDEX idx_tenant_id_collection_id_index_id (tenant_id, collection_id, index_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- index file paths -CREATE TABLE if not exists milvus_meta.index_file_paths ( - id BIGINT NOT NULL AUTO_INCREMENT, - tenant_id VARCHAR(128) DEFAULT NULL, - index_build_id BIGINT NOT NULL, - index_file_path VARCHAR(256), - is_deleted BOOL DEFAULT FALSE, - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, - PRIMARY KEY (id), - INDEX idx_tenant_id_index_build_id (tenant_id, index_build_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- segments -CREATE TABLE if not exists milvus_meta.segments ( - id BIGINT NOT NULL AUTO_INCREMENT, - tenant_id VARCHAR(128) DEFAULT NULL, - segment_id BIGINT NOT NULL, - collection_id BIGINT NOT NULL, - partition_id BIGINT NOT NULL, - num_rows BIGINT NOT NULL, - max_row_num INT COMMENT 'estimate max rows', - dm_channel VARCHAR(128) NOT NULL, - dml_position TEXT COMMENT 'checkpoint', - start_position TEXT, - compaction_from VARCHAR(4096) COMMENT 'old segment IDs', - created_by_compaction BOOL, - segment_state TINYINT UNSIGNED NOT NULL, - last_expire_time bigint unsigned COMMENT 'segment assignment expiration time', - dropped_at bigint unsigned, - is_deleted BOOL DEFAULT FALSE, - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, - PRIMARY KEY (id), - INDEX idx_tenant_id_collection_id_segment_id (tenant_id, collection_id, segment_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- segment indexes -CREATE TABLE if not exists milvus_meta.segment_indexes ( - id BIGINT NOT NULL AUTO_INCREMENT, - tenant_id VARCHAR(128) DEFAULT NULL, - collection_id BIGINT NOT NULL, - partition_id BIGINT NOT NULL, - segment_id BIGINT NOT NULL, - field_id BIGINT NOT NULL, - index_id BIGINT NOT NULL, - index_build_id BIGINT, - enable_index BOOL NOT NULL, - create_time bigint unsigned, - index_file_paths VARCHAR(4096), - index_size BIGINT UNSIGNED, - `version` INT UNSIGNED, - is_deleted BOOL DEFAULT FALSE COMMENT 'as mark_deleted', - recycled BOOL DEFAULT FALSE COMMENT 'binlog files truly deleted', - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, - PRIMARY KEY (id), - UNIQUE KEY uk_tenant_id_segment_id_index_id (tenant_id, segment_id, index_id), - INDEX idx_tenant_id_collection_id_segment_id_index_id (tenant_id, collection_id, segment_id, index_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- binlog files info -CREATE TABLE if not exists milvus_meta.binlogs ( - id BIGINT NOT NULL AUTO_INCREMENT, - tenant_id VARCHAR(128) DEFAULT NULL, - field_id BIGINT NOT NULL, - segment_id BIGINT NOT NULL, - collection_id BIGINT NOT NULL, - log_type SMALLINT UNSIGNED NOT NULL COMMENT 'binlog、stats binlog、delta binlog', - num_entries BIGINT, - timestamp_from BIGINT UNSIGNED, - timestamp_to BIGINT UNSIGNED, - log_path VARCHAR(256) NOT NULL, - log_size BIGINT NOT NULL, - is_deleted BOOL DEFAULT FALSE, - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, - PRIMARY KEY (id), - INDEX idx_tenant_id_segment_id_log_type (tenant_id, segment_id, log_type) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- users -CREATE TABLE if not exists milvus_meta.credential_users ( - id BIGINT NOT NULL AUTO_INCREMENT, - tenant_id VARCHAR(128) DEFAULT NULL, - username VARCHAR(128) NOT NULL, - encrypted_password VARCHAR(256) NOT NULL, - is_super BOOL NOT NULL DEFAULT false, - is_deleted BOOL NOT NULL DEFAULT false, - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, - PRIMARY KEY (id), - INDEX idx_tenant_id_username (tenant_id, username) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- role -CREATE TABLE if not exists milvus_meta.role ( - id BIGINT NOT NULL AUTO_INCREMENT, - tenant_id VARCHAR(128) DEFAULT NULL, - name VARCHAR(128) NOT NULL, - is_deleted BOOL NOT NULL DEFAULT false, - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, - INDEX idx_role_tenant_name (tenant_id, name, is_deleted), - PRIMARY KEY (id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- user-role -CREATE TABLE if not exists milvus_meta.user_role ( - id BIGINT NOT NULL AUTO_INCREMENT, - tenant_id VARCHAR(128) DEFAULT NULL, - user_id BIGINT NOT NULL, - role_id BIGINT NOT NULL, - is_deleted BOOL NOT NULL DEFAULT false, - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, - INDEX idx_role_mapping_tenant_user_role (tenant_id, user_id, role_id, is_deleted), - PRIMARY KEY (id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- grant -CREATE TABLE if not exists milvus_meta.grant ( - id BIGINT NOT NULL AUTO_INCREMENT, - tenant_id VARCHAR(128) DEFAULT NULL, - role_id BIGINT NOT NULL, - object VARCHAR(128) NOT NULL, - object_name VARCHAR(128) NOT NULL, - is_deleted BOOL NOT NULL DEFAULT false, - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, - INDEX idx_grant_principal_resource_tenant (tenant_id, role_id, object, object_name, is_deleted), - PRIMARY KEY (id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- grant-id -CREATE TABLE if not exists milvus_meta.grant_id ( - id BIGINT NOT NULL AUTO_INCREMENT, - tenant_id VARCHAR(128) DEFAULT NULL, - grant_id BIGINT NOT NULL, - grantor_id BIGINT NOT NULL, - privilege VARCHAR(128) NOT NULL, - is_deleted BOOL NOT NULL DEFAULT false, - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, - INDEX idx_grant_id_tenant_grantor (tenant_id, grant_id, grantor_id, is_deleted), - PRIMARY KEY (id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; \ No newline at end of file +mysql: + enabled: true + initdbScripts: + meta.sql: |+ + -- create database + CREATE DATABASE if not exists milvus_meta CHARACTER SET utf8mb4; + + /* + create tables script + + Notices: + 1. id, tenant_id, is_deleted, created_at, updated_at are 5 common columns for all collections. + 2. Query index in community version CANNOT includes tenant_id, since tenant_id is not existed and will miss query index. + */ + + -- collections + CREATE TABLE if not exists milvus_meta.collections ( + id BIGINT NOT NULL AUTO_INCREMENT, + tenant_id VARCHAR(128) DEFAULT NULL, + collection_id BIGINT NOT NULL, + collection_name VARCHAR(256), + description VARCHAR(2048) DEFAULT NULL, + auto_id BOOL DEFAULT FALSE, + shards_num INT, + start_position TEXT, + consistency_level INT, + ts BIGINT UNSIGNED DEFAULT 0, + is_deleted BOOL DEFAULT FALSE, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, + PRIMARY KEY (id), + UNIQUE KEY uk_tenant_id_collection_id_ts (tenant_id, collection_id, ts) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + + -- collection aliases + CREATE TABLE if not exists milvus_meta.collection_aliases ( + id BIGINT NOT NULL AUTO_INCREMENT, + tenant_id VARCHAR(128) DEFAULT NULL, + collection_id BIGINT NOT NULL, + collection_alias VARCHAR(128), + ts BIGINT UNSIGNED DEFAULT 0, + is_deleted BOOL DEFAULT FALSE, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, + PRIMARY KEY (id), + UNIQUE KEY uk_tenant_id_collection_alias_ts (tenant_id, collection_alias, ts), + INDEX idx_tenant_id_collection_id_ts (tenant_id, collection_id, ts) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + + -- channels + CREATE TABLE if not exists milvus_meta.collection_channels ( + id BIGINT NOT NULL AUTO_INCREMENT, + tenant_id VARCHAR(128) DEFAULT NULL, + collection_id BIGINT NOT NULL, + virtual_channel_name VARCHAR(256) NOT NULL, + physical_channel_name VARCHAR(256) NOT NULL, + removed BOOL DEFAULT FALSE, + ts BIGINT UNSIGNED DEFAULT 0, + is_deleted BOOL DEFAULT FALSE, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, + PRIMARY KEY (id), + UNIQUE KEY uk_tenant_id_collection_id_virtual_channel_name_ts (tenant_id, collection_id, virtual_channel_name, ts), + INDEX idx_tenant_id_collection_id_ts (tenant_id, collection_id, ts) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + + -- fields + CREATE TABLE if not exists milvus_meta.field_schemas ( + id BIGINT NOT NULL AUTO_INCREMENT, + tenant_id VARCHAR(128) DEFAULT NULL, + field_id BIGINT NOT NULL, + field_name VARCHAR(256) NOT NULL, + is_primary_key BOOL NOT NULL, + description VARCHAR(2048) DEFAULT NULL, + data_type INT UNSIGNED NOT NULL, + type_params VARCHAR(2048), + index_params VARCHAR(2048), + auto_id BOOL NOT NULL, + collection_id BIGINT NOT NULL, + ts BIGINT UNSIGNED DEFAULT 0, + is_deleted BOOL DEFAULT FALSE, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, + PRIMARY KEY (id), + UNIQUE KEY uk_tenant_id_collection_id_field_name_ts (tenant_id, collection_id, field_name, ts), + INDEX idx_tenant_id_collection_id_field_id_ts (tenant_id, collection_id, field_id, ts) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + + -- partitions + CREATE TABLE if not exists milvus_meta.`partitions` ( + id BIGINT NOT NULL AUTO_INCREMENT, + tenant_id VARCHAR(128) DEFAULT NULL, + partition_id BIGINT NOT NULL, + partition_name VARCHAR(256), + partition_created_timestamp bigint unsigned, + collection_id BIGINT NOT NULL, + ts BIGINT UNSIGNED DEFAULT 0, + is_deleted BOOL DEFAULT FALSE, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, + PRIMARY KEY (id), + UNIQUE KEY uk_tenant_id_collection_id_partition_name_ts (tenant_id, collection_id, partition_name, ts), + INDEX idx_tenant_id_collection_id_partition_id_ts (tenant_id, collection_id, partition_id, ts) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + + -- indexes + CREATE TABLE if not exists milvus_meta.`indexes` ( + id BIGINT NOT NULL AUTO_INCREMENT, + tenant_id VARCHAR(128) DEFAULT NULL, + field_id BIGINT NOT NULL, + collection_id BIGINT NOT NULL, + index_id BIGINT NOT NULL, + index_name VARCHAR(256), + index_params VARCHAR(2048), + create_time bigint unsigned, + is_deleted BOOL DEFAULT FALSE, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, + PRIMARY KEY (id), + INDEX idx_tenant_id_collection_id_index_id (tenant_id, collection_id, index_id) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + + -- index file paths + CREATE TABLE if not exists milvus_meta.index_file_paths ( + id BIGINT NOT NULL AUTO_INCREMENT, + tenant_id VARCHAR(128) DEFAULT NULL, + index_build_id BIGINT NOT NULL, + index_file_path VARCHAR(256), + is_deleted BOOL DEFAULT FALSE, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, + PRIMARY KEY (id), + INDEX idx_tenant_id_index_build_id (tenant_id, index_build_id) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + + -- segments + CREATE TABLE if not exists milvus_meta.segments ( + id BIGINT NOT NULL AUTO_INCREMENT, + tenant_id VARCHAR(128) DEFAULT NULL, + segment_id BIGINT NOT NULL, + collection_id BIGINT NOT NULL, + partition_id BIGINT NOT NULL, + num_rows BIGINT NOT NULL, + max_row_num INT COMMENT 'estimate max rows', + dm_channel VARCHAR(128) NOT NULL, + dml_position TEXT COMMENT 'checkpoint', + start_position TEXT, + compaction_from VARCHAR(4096) COMMENT 'old segment IDs', + created_by_compaction BOOL, + segment_state TINYINT UNSIGNED NOT NULL, + last_expire_time bigint unsigned COMMENT 'segment assignment expiration time', + dropped_at bigint unsigned, + is_deleted BOOL DEFAULT FALSE, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, + PRIMARY KEY (id), + INDEX idx_tenant_id_collection_id_segment_id (tenant_id, collection_id, segment_id) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + + -- segment indexes + CREATE TABLE if not exists milvus_meta.segment_indexes ( + id BIGINT NOT NULL AUTO_INCREMENT, + tenant_id VARCHAR(128) DEFAULT NULL, + collection_id BIGINT NOT NULL, + partition_id BIGINT NOT NULL, + segment_id BIGINT NOT NULL, + field_id BIGINT NOT NULL, + index_id BIGINT NOT NULL, + index_build_id BIGINT, + enable_index BOOL NOT NULL, + create_time bigint unsigned, + index_file_paths VARCHAR(4096), + index_size BIGINT UNSIGNED, + `version` INT UNSIGNED, + is_deleted BOOL DEFAULT FALSE COMMENT 'as mark_deleted', + recycled BOOL DEFAULT FALSE COMMENT 'binlog files truly deleted', + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, + PRIMARY KEY (id), + UNIQUE KEY uk_tenant_id_segment_id_index_id (tenant_id, segment_id, index_id), + INDEX idx_tenant_id_collection_id_segment_id_index_id (tenant_id, collection_id, segment_id, index_id) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + + -- binlog files info + CREATE TABLE if not exists milvus_meta.binlogs ( + id BIGINT NOT NULL AUTO_INCREMENT, + tenant_id VARCHAR(128) DEFAULT NULL, + field_id BIGINT NOT NULL, + segment_id BIGINT NOT NULL, + collection_id BIGINT NOT NULL, + log_type SMALLINT UNSIGNED NOT NULL COMMENT 'binlog、stats binlog、delta binlog', + num_entries BIGINT, + timestamp_from BIGINT UNSIGNED, + timestamp_to BIGINT UNSIGNED, + log_path VARCHAR(256) NOT NULL, + log_size BIGINT NOT NULL, + is_deleted BOOL DEFAULT FALSE, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, + PRIMARY KEY (id), + INDEX idx_tenant_id_segment_id_log_type (tenant_id, segment_id, log_type) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + + -- users + CREATE TABLE if not exists milvus_meta.credential_users ( + id BIGINT NOT NULL AUTO_INCREMENT, + tenant_id VARCHAR(128) DEFAULT NULL, + username VARCHAR(128) NOT NULL, + encrypted_password VARCHAR(256) NOT NULL, + is_super BOOL NOT NULL DEFAULT false, + is_deleted BOOL NOT NULL DEFAULT false, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, + PRIMARY KEY (id), + INDEX idx_tenant_id_username (tenant_id, username) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + + -- role + CREATE TABLE if not exists milvus_meta.role ( + id BIGINT NOT NULL AUTO_INCREMENT, + tenant_id VARCHAR(128) DEFAULT NULL, + name VARCHAR(128) NOT NULL, + is_deleted BOOL NOT NULL DEFAULT false, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, + INDEX idx_role_tenant_name (tenant_id, name, is_deleted), + PRIMARY KEY (id) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + + -- user-role + CREATE TABLE if not exists milvus_meta.user_role ( + id BIGINT NOT NULL AUTO_INCREMENT, + tenant_id VARCHAR(128) DEFAULT NULL, + user_id BIGINT NOT NULL, + role_id BIGINT NOT NULL, + is_deleted BOOL NOT NULL DEFAULT false, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, + INDEX idx_role_mapping_tenant_user_role (tenant_id, user_id, role_id, is_deleted), + PRIMARY KEY (id) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + + -- grant + CREATE TABLE if not exists milvus_meta.grant ( + id BIGINT NOT NULL AUTO_INCREMENT, + tenant_id VARCHAR(128) DEFAULT NULL, + role_id BIGINT NOT NULL, + object VARCHAR(128) NOT NULL, + object_name VARCHAR(128) NOT NULL, + is_deleted BOOL NOT NULL DEFAULT false, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, + INDEX idx_grant_principal_resource_tenant (tenant_id, role_id, object, object_name, is_deleted), + PRIMARY KEY (id) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + + -- grant-id + CREATE TABLE if not exists milvus_meta.grant_id ( + id BIGINT NOT NULL AUTO_INCREMENT, + tenant_id VARCHAR(128) DEFAULT NULL, + grant_id BIGINT NOT NULL, + grantor_id BIGINT NOT NULL, + privilege VARCHAR(128) NOT NULL, + is_deleted BOOL NOT NULL DEFAULT false, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP on update current_timestamp, + INDEX idx_grant_id_tenant_grantor (tenant_id, grant_id, grantor_id, is_deleted), + PRIMARY KEY (id) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; \ No newline at end of file