Module: PgHero::Methods::Constraints

Included in:
Database
Defined in:
lib/pghero/methods/constraints.rb

Instance Method Summary collapse

Instance Method Details

#invalid_constraintsObject

referenced fields can be nil as not all constraints are foreign keys



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/pghero/methods/constraints.rb', line 6

def invalid_constraints
  select_all "    SELECT\n      nsp.nspname AS schema,\n      rel.relname AS table,\n      con.conname AS name,\n      fnsp.nspname AS referenced_schema,\n      frel.relname AS referenced_table\n    FROM\n      pg_catalog.pg_constraint con\n    INNER JOIN\n      pg_catalog.pg_class rel ON rel.oid = con.conrelid\n    LEFT JOIN\n      pg_catalog.pg_class frel ON frel.oid = con.confrelid\n    LEFT JOIN\n      pg_catalog.pg_namespace nsp ON nsp.oid = con.connamespace\n    LEFT JOIN\n      pg_catalog.pg_namespace fnsp ON fnsp.oid = frel.relnamespace\n    WHERE\n      con.convalidated = 'f'\n  SQL\nend\n"