Method: ForcefulForeignKey::Graph#fks

Defined in:
lib/forceful_foreign_key/graph.rb

#fksObject



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/forceful_foreign_key/graph.rb', line 54

def fks
  ActiveRecord::Base.connection.execute(
      "      SELECT tc.table_name,\n      kcu.constraint_name,\n      kcu.column_name,\n      ccu.table_name AS references_table,\n      ccu.column_name AS references_field\n      FROM information_schema.table_constraints tc\n  \n      LEFT JOIN information_schema.key_column_usage kcu\n      ON tc.constraint_catalog = kcu.constraint_catalog\n      AND tc.constraint_schema = kcu.constraint_schema\n      AND tc.constraint_name = kcu.constraint_name\n  \n      LEFT JOIN information_schema.referential_constraints rc\n      ON tc.constraint_catalog = rc.constraint_catalog\n      AND tc.constraint_schema = rc.constraint_schema\n      AND tc.constraint_name = rc.constraint_name\n  \n      LEFT JOIN information_schema.constraint_column_usage ccu\n      ON rc.unique_constraint_catalog = ccu.constraint_catalog\n      AND rc.unique_constraint_schema = ccu.constraint_schema\n      AND rc.unique_constraint_name = ccu.constraint_name\n      WHERE lower(tc.constraint_type) in ('foreign key')\n  SQL\n  ).to_a\nend\n"