Class: ActiveRecord::ConnectionAdapters::MysqlConstraint
- Inherits:
-
AbstractTableConstraint
- Object
- AbstractTableConstraint
- ActiveRecord::ConnectionAdapters::MysqlConstraint
- Defined in:
- lib/connection_adapters/mysql_adapter.rb
Overview
A representation of a referential constraint or key in MySQL Specifically: Primary, Foreign, Unique Key definitions
Constant Summary
Constants inherited from AbstractTableConstraint
AbstractTableConstraint::CHECK_CONSTRAINT_TYPE, AbstractTableConstraint::FOREIGN_KEY_TYPE, AbstractTableConstraint::PRIMARY_KEY_TYPE, AbstractTableConstraint::UNIQUE_KEY_TYPE
Instance Attribute Summary
Attributes inherited from AbstractTableConstraint
#column_name, #constraint_name, #constraint_type, #member_of_composite, #referenced_column_name, #referenced_table_name, #table_name, #table_schema
Instance Method Summary collapse
-
#initialize(constraint_name, table_schema, table_name, column_name, constraint_type, referenced_table_name, referenced_column_name) ⇒ MysqlConstraint
constructor
A new instance of MysqlConstraint.
- #is_foreign_constraint?(table_name) ⇒ Boolean
Methods inherited from AbstractTableConstraint
#component_of_unique_key?, #foreign_key?, #is_member_of_composite?, #primary_key?, #raise_subclass_responsibility_error, #unique_key?
Constructor Details
#initialize(constraint_name, table_schema, table_name, column_name, constraint_type, referenced_table_name, referenced_column_name) ⇒ MysqlConstraint
Returns a new instance of MysqlConstraint.
39 40 41 42 43 44 45 46 47 48 |
# File 'lib/connection_adapters/mysql_adapter.rb', line 39 def initialize(constraint_name, table_schema, table_name, column_name, constraint_type, referenced_table_name, referenced_column_name) @constraint_name = constraint_name @table_schema = table_schema @table_name = table_name @constraint_type = constraint_type @column_name = column_name @referenced_table_name = referenced_table_name @referenced_column_name = referenced_column_name end |
Instance Method Details
#is_foreign_constraint?(table_name) ⇒ Boolean
50 51 52 53 54 |
# File 'lib/connection_adapters/mysql_adapter.rb', line 50 def is_foreign_constraint?(table_name) !@referenced_table_name.nil? && @referenced_table_name.upcase == table_name.upcase && @table_name.upcase != table_name.upcase end |