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"
|