Method: ActiveRecord::ConnectionAdapters::SQLite3::SchemaStatements#check_constraints

Defined in:
activerecord/lib/active_record/connection_adapters/sqlite3/schema_statements.rb

#check_constraints(table_name) ⇒ Object



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