Module: ActiveRecord::ConnectionAdapters::SchemaStatements
- Defined in:
- lib/foreign_key_saver/foreign_key_saver_patches.rb
Constant Summary collapse
- VALID_FOREIGN_KEY_OPTIONS =
[:name, :on_update, :on_delete]
Instance Method Summary collapse
- #add_foreign_key_constraint(table_name, key, referenced_table, referenced_key, options = {}) ⇒ Object
- #remove_foreign_key_constraint(table_name, constraint) ⇒ Object
Instance Method Details
#add_foreign_key_constraint(table_name, key, referenced_table, referenced_key, options = {}) ⇒ Object
75 76 77 78 |
# File 'lib/foreign_key_saver/foreign_key_saver_patches.rb', line 75 def add_foreign_key_constraint(table_name, key, referenced_table, referenced_key, = {}) .assert_valid_keys(VALID_FOREIGN_KEY_OPTIONS) execute "ALTER TABLE #{quote_table_name(table_name)} ADD #{ForeignKeyConstraint.new([:name], key, referenced_table, referenced_key, [:on_update], [:on_delete]).to_sql(self)}" end |
#remove_foreign_key_constraint(table_name, constraint) ⇒ Object
80 81 82 |
# File 'lib/foreign_key_saver/foreign_key_saver_patches.rb', line 80 def remove_foreign_key_constraint(table_name, constraint) execute "ALTER TABLE #{quote_table_name(table_name)} DROP CONSTRAINT #{quote_column_name(constraint)}" end |