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

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, options = {})
  options.assert_valid_keys(VALID_FOREIGN_KEY_OPTIONS)
  execute "ALTER TABLE #{quote_table_name(table_name)} ADD #{ForeignKeyConstraint.new(options[:name], key, referenced_table, referenced_key, options[:on_update], options[: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