prazy1208/text2sql
0
1-- Migration: add table_relationships in healthcare_schema, retail_schema, finance_schema.2-- Safe to run if tables already exist (CREATE TABLE IF NOT EXISTS).3-- See create_domain_schema_table_relationships.sql for full comments.4 5-- healthcare_schema6CREATE TABLE IF NOT EXISTS healthcare_schema.table_relationships (7 id SERIAL PRIMARY KEY,8 source_table TEXT NOT NULL,9 source_column TEXT NOT NULL,10 target_schema TEXT NOT NULL,11 target_table TEXT NOT NULL,12 target_column TEXT NOT NULL,13 relationship_text TEXT NOT NULL,14 constraint_name VARCHAR(256),15 created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,16 CONSTRAINT uq_healthcare_table_relationships_edge17 UNIQUE (source_table, source_column, target_schema, target_table, target_column)18);19 20CREATE INDEX IF NOT EXISTS idx_healthcare_table_relationships_source21 ON healthcare_schema.table_relationships (source_table);22 23CREATE INDEX IF NOT EXISTS idx_healthcare_table_relationships_source_col24 ON healthcare_schema.table_relationships (source_table, source_column);25 26-- retail_schema27CREATE TABLE IF NOT EXISTS retail_schema.table_relationships (28 id SERIAL PRIMARY KEY,29 source_table TEXT NOT NULL,30 source_column TEXT NOT NULL,31 target_schema TEXT NOT NULL,32 target_table TEXT NOT NULL,33 target_column TEXT NOT NULL,34 relationship_text TEXT NOT NULL,35 constraint_name VARCHAR(256),36 created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,37 CONSTRAINT uq_retail_table_relationships_edge38 UNIQUE (source_table, source_column, target_schema, target_table, target_column)39);40 41CREATE INDEX IF NOT EXISTS idx_retail_table_relationships_source42 ON retail_schema.table_relationships (source_table);43 44CREATE INDEX IF NOT EXISTS idx_retail_table_relationships_source_col45 ON retail_schema.table_relationships (source_table, source_column);46 47-- finance_schema48CREATE TABLE IF NOT EXISTS finance_schema.table_relationships (49 id SERIAL PRIMARY KEY,50 source_table TEXT NOT NULL,51 source_column TEXT NOT NULL,52 target_schema TEXT NOT NULL,53 target_table TEXT NOT NULL,54 target_column TEXT NOT NULL,55 relationship_text TEXT NOT NULL,56 constraint_name VARCHAR(256),57 created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,58 CONSTRAINT uq_finance_table_relationships_edge59 UNIQUE (source_table, source_column, target_schema, target_table, target_column)60);61 62CREATE INDEX IF NOT EXISTS idx_finance_table_relationships_source63 ON finance_schema.table_relationships (source_table);64 65CREATE INDEX IF NOT EXISTS idx_finance_table_relationships_source_col66 ON finance_schema.table_relationships (source_table, source_column);67 