💡
Tip: Extracting the relationships
In order to create the proper relationships between your database tables in Whaly workbench, you can use the above SQL queries to extract them.
1
SELECT
2
tc.table_schema,
3
tc.constraint_name,
4
tc.constraint_type,
5
tc.table_name,
6
kcu.column_name,
7
ccu.table_schema AS foreign_table_schema,
8
ccu.table_name AS foreign_table_name,
9
ccu.column_name AS foreign_column_name
10
FROM information_schema.table_constraints AS tc
11
JOIN information_schema.key_column_usage AS kcu
12
ON
13
tc.constraint_name = kcu.constraint_name
14
AND
15
tc.table_schema = kcu.table_schema
16
JOIN information_schema.constraint_column_usage AS ccu
17
ON
18
ccu.constraint_name = tc.constraint_name
19
AND
20
ccu.table_schema = tc.table_schema;
Copied!
If you want to export those into a CSV file, you can run directly in Postgres:
1
\copy (SELECT tc.table_schema, tc.constraint_name, tc.constraint_type, tc.table_name, kcu.column_name, ccu.table_schema AS foreign_table_schema, ccu.table_name AS foreign_table_name, ccu.column_name AS foreign_column_name FROM information_schema.table_constraints AS tc JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name AND tc.table_schema = kcu.table_schema JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name AND ccu.table_schema = tc.table_schema;) to 'whaly.csv' csv header
Copied!
This will write on your Postgres server a whaly.csv file with all the relationships between the tables.
Last modified 17d ago
Copy link