mirror of
https://github.com/dbgate/dbgate
synced 2024-11-08 12:47:25 +00:00
25 lines
1.3 KiB
JavaScript
25 lines
1.3 KiB
JavaScript
module.exports = `
|
|
select
|
|
fk.constraint_name as "constraintName",
|
|
fk.constraint_schema as "constraintSchema",
|
|
base.table_name as "pureName",
|
|
base.table_schema as "schemaName",
|
|
fk.update_rule as "updateAction",
|
|
fk.delete_rule as "deleteAction",
|
|
ref.table_name as "refTableName",
|
|
ref.table_schema as "refSchemaName",
|
|
basecol.column_name as "columnName",
|
|
refcol.column_name as "refColumnName"
|
|
from information_schema.referential_constraints fk
|
|
inner join information_schema.table_constraints base on fk.constraint_name = base.constraint_name and fk.constraint_schema = base.constraint_schema
|
|
inner join information_schema.table_constraints ref on fk.unique_constraint_name = ref.constraint_name and fk.unique_constraint_schema = ref.constraint_schema
|
|
inner join information_schema.key_column_usage basecol on base.table_name = basecol.table_name and base.constraint_name = basecol.constraint_name
|
|
inner join information_schema.key_column_usage refcol on ref.table_name = refcol.table_name and ref.constraint_name = refcol.constraint_name and basecol.ordinal_position = refcol.ordinal_position
|
|
where
|
|
base.table_schema <> 'information_schema'
|
|
and base.table_schema <> 'pg_catalog'
|
|
and base.table_schema !~ '^pg_toast'
|
|
and 'table:' || base.table_schema || '.' || base.table_name =[OBJECT_ID_CONDITION]
|
|
order by basecol.ordinal_position
|
|
`;
|