foreign_key_saver v2.0.0
RubyGemsAdds a add_foreign_key_constraint schema method, and extends the schema dump code to output these
foreign key constraints.
Only MySQL and PostgreSQL are currently supported.
Examples
========
# adds a constraint on projects.customer_id with parent customers.id
add_foreign_key :projects, :customer_id, :customers, :id
# adds a constraint on projects(a, b) with parent(a, b) with the default RESTRICT update/delete actions
add_foreign_key "child", ["a", "b"], "parent", ["a", "b"]
# adds a constraint with the ON UPDATE action set to CASCADE and the ON DELETE action set to SET NULL
add_foreign_key 'projects', 'customer_id', 'customers', 'id', :on_update => :cascade, :on_delete => :set_null
The following actions are defined:
:restrict
:no_action
:cascade
:set_null (aka :nullify)
:set_default
Note that MySQL does not support :set_default, and also treats :no_action as :restrict.
Compatibility
=============
Supports mysql, mysql2, postgresql.
Currently tested against Rails 3.2.13 on 2.0.0p0 and Rails 3.2.13, 3.1.8, 3.0.17, and 2.3.14 on Ruby 1.8.7.
Maintenance Abandoned
Popularity Niche
Security Clean
Deps Zero deps
Abandoned. Last published 13 years ago.