
CREATE SPACE IF NOT EXISTS bigmeta(partition_num=100, replica_factor=3, vid_type=fixed_string(512));
use bigmeta;

CREATE TAG IF NOT EXISTS task () COMMENT = 'This schema defines the task entity';
CREATE TAG IF NOT EXISTS sql (partitions FIXED_STRING(255)) COMMENT = 'This schema defines the sql entity';
CREATE TAG IF NOT EXISTS database (datasource_type FIXED_STRING(255)) COMMENT = 'This schema defines the database entity';
CREATE TAG IF NOT EXISTS database_schema () COMMENT = 'This schema defines the databaseSchema entity';
CREATE TAG IF NOT EXISTS table (type FIXED_STRING(255), is_dropped BOOL, version INT64) COMMENT = 'This schema defines the table entity';
CREATE TAG IF NOT EXISTS column (is_dropped BOOL, version INT64) COMMENT = 'This schema defines the column entity';
CREATE TAG IF NOT EXISTS process () COMMENT = 'This schema defines the process entity';
CREATE TAG IF NOT EXISTS operator (type FIXED_STRING(255), form FIXED_STRING(255)) COMMENT = 'This schema defines the operator entity';
CREATE TAG IF NOT EXISTS virtual_column () COMMENT = 'This schema defines the virtual_column entity';

CREATE EDGE IF NOT EXISTS task_have_sql(collect_start_time INT64 , src_sys_update_time INT64 ) COMMENT = 'This schema defines the task_have_sql edge';
CREATE EDGE IF NOT EXISTS database_have_database_schema(collect_start_time INT64 , src_sys_update_time INT64 ) COMMENT = 'This schema defines the database_have_database_schema edge';
CREATE EDGE IF NOT EXISTS database_schema_have_table(collect_start_time INT64 , src_sys_update_time INT64 ) COMMENT = 'This schema defines the database_schema_have_table edge';
CREATE EDGE IF NOT EXISTS table_have_column(collect_start_time INT64 , src_sys_update_time INT64 ) COMMENT = 'This schema defines the table_have_column edge';
CREATE EDGE IF NOT EXISTS sql_contain_process(collect_start_time INT64 , src_sys_update_time INT64 ) COMMENT = 'This schema defines the sql_contain_process';
CREATE EDGE IF NOT EXISTS table_direct_table(sql_guids STRING , collect_start_time INT64 , src_sys_update_time INT64 ) COMMENT = 'This schema defines the table_direct_table edge';
CREATE EDGE IF NOT EXISTS column_direct_column(sql_guids STRING , collect_start_time INT64 , src_sys_update_time INT64 ) COMMENT = 'This schema defines the column_direct_column edge';
CREATE EDGE IF NOT EXISTS table_direct_input_sql(collect_start_time INT64 , src_sys_update_time INT64 ) COMMENT = 'This schema defines the table_direct_input_sql edge';
CREATE EDGE IF NOT EXISTS table_indirect_input_sql(collect_start_time INT64 , src_sys_update_time INT64 ) COMMENT = 'This schema defines the table_indirect_input_sql edge';
CREATE EDGE IF NOT EXISTS sql_output_table(collect_start_time INT64 , src_sys_update_time INT64 ) COMMENT = 'This schema defines the sql_output_table edge';
CREATE EDGE IF NOT EXISTS column_affect_sql(collect_start_time INT64 , src_sys_update_time INT64 ) COMMENT = 'This schema defines the column_affect_sql edge';
CREATE EDGE IF NOT EXISTS column_input_process(collect_start_time INT64 , src_sys_update_time INT64 ) COMMENT = 'This schema defines the column_input_process edge';
CREATE EDGE IF NOT EXISTS process_output_column(collect_start_time INT64 , src_sys_update_time INT64 ) COMMENT = 'This schema defines the process_output_column edge';
CREATE EDGE IF NOT EXISTS virtual_column_input_operator(collect_start_time INT64 , src_sys_update_time INT64 ) COMMENT = 'This schema defines the virtual_column_input_operator edge';
CREATE EDGE IF NOT EXISTS operator_output_virtual_column(collect_start_time INT64 , src_sys_update_time INT64 ) COMMENT = 'This schema defines the operator_output_virtual_column edge';
CREATE EDGE IF NOT EXISTS column_input_operator(collect_start_time INT64 , src_sys_update_time INT64 ) COMMENT = 'This schema defines the column_input_operator edge';
CREATE EDGE IF NOT EXISTS virtual_column_output_process(collect_start_time INT64 , src_sys_update_time INT64 ) COMMENT = 'This schema defines the virtual_column_output_process edge';


// 0.6.1
ALTER EDGE column_affect_sql ADD (scopes string);