89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/schema_statements.rb', line 89
def check_constraints(table_name)
table_sql = query_value(" SELECT sql\n FROM sqlite_master\n WHERE name = \#{quote(table_name)} AND type = 'table'\n UNION ALL\n SELECT sql\n FROM sqlite_temp_master\n WHERE name = \#{quote(table_name)} AND type = 'table'\n SQL\n\n table_sql.to_s.scan(/CONSTRAINT\\s+(?<name>\\w+)\\s+CHECK\\s+\\((?<expression>(:?[^()]|\\(\\g<expression>\\))+)\\)/i).map do |name, expression|\n CheckConstraintDefinition.new(table_name, expression, name: name)\n end\nend\n", "SCHEMA")
|