Skip to content

Commit 6103146

Browse files
committed
Update code
1 parent 5e7110a commit 6103146

File tree

1 file changed

+14
-25
lines changed

1 file changed

+14
-25
lines changed

text_2_sql/data_dictionary/sql_sever_data_dictionary_creator.py

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -86,39 +86,28 @@ def extract_columns_sql_query(self, entity: EntityItem) -> str:
8686
def extract_entity_relationships_sql_query(self) -> str:
8787
"""A property to extract entity relationships from a SQL Server database."""
8888
return """SELECT
89-
fk_schema.schema_name AS EntitySchema,
90-
fk_tab.table_name AS Entity,
91-
pk_schema.schema_name AS ForeignEntitySchema,
92-
pk_tab.table_name AS ForeignEntity,
93-
fk_col.column_name AS [Column],
94-
pk_col.column_name AS ForeignColumn
89+
fk_schema.name AS EntitySchema,
90+
fk_tab.name AS Entity,
91+
pk_schema.name AS ForeignEntitySchema,
92+
pk_tab.name AS ForeignEntity,
93+
fk_col.name AS [Column],
94+
pk_col.name AS ForeignColumn
9595
FROM
96-
INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS fk
96+
sys.foreign_keys AS fk
9797
INNER JOIN
98-
INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS fkc
99-
ON fk.constraint_name = fkc.constraint_name
98+
sys.foreign_key_columns AS fkc ON fk.object_id = fkc.constraint_object_id
10099
INNER JOIN
101-
INFORMATION_SCHEMA.TABLES AS fk_tab
102-
ON fk_tab.table_name = fkc.table_name AND fk_tab.table_schema = fkc.table_schema
100+
sys.tables AS fk_tab ON fk_tab.object_id = fk.parent_object_id
103101
INNER JOIN
104-
INFORMATION_SCHEMA.SCHEMATA AS fk_schema
105-
ON fk_tab.table_schema = fk_schema.schema_name
102+
sys.schemas AS fk_schema ON fk_tab.schema_id = fk_schema.schema_id
106103
INNER JOIN
107-
INFORMATION_SCHEMA.TABLES AS pk_tab
108-
ON pk_tab.table_name = fkc.referenced_table_name AND pk_tab.table_schema = fkc.referenced_table_schema
104+
sys.tables AS pk_tab ON pk_tab.object_id = fk.referenced_object_id
109105
INNER JOIN
110-
INFORMATION_SCHEMA.SCHEMATA AS pk_schema
111-
ON pk_tab.table_schema = pk_schema.schema_name
106+
sys.schemas AS pk_schema ON pk_tab.schema_id = pk_schema.schema_id
112107
INNER JOIN
113-
INFORMATION_SCHEMA.COLUMNS AS fk_col
114-
ON fkc.column_name = fk_col.column_name AND fkc.table_name = fk_col.table_name AND fkc.table_schema = fk_col.table_schema
108+
sys.columns AS fk_col ON fkc.parent_object_id = fk_col.object_id AND fkc.parent_column_id = fk_col.column_id
115109
INNER JOIN
116-
INFORMATION_SCHEMA.COLUMNS AS pk_col
117-
ON fkc.referenced_column_name = pk_col.column_name AND fkc.referenced_table_name = pk_col.table_name AND fkc.referenced_table_schema = pk_col.table_schema
118-
WHERE
119-
fk.constraint_type = 'FOREIGN KEY'
120-
AND fk_tab.table_catalog = 'your_catalog_name'
121-
AND pk_tab.table_catalog = 'your_catalog_name'
110+
sys.columns AS pk_col ON fkc.referenced_object_id = pk_col.object_id AND fkc.referenced_column_id = pk_col.column_id
122111
ORDER BY
123112
EntitySchema, Entity, ForeignEntitySchema, ForeignEntity;
124113
"""

0 commit comments

Comments
 (0)