Categories: None [Edit]
foreign_key_saver
Adds 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.
Total
Ranking: 122,967 of 189,602
Downloads: 5,419
Daily
Ranking: 57,726 of 189,566
Downloads: 1
Downloads Trends
Ranking Trends
Num of Versions Trends
Popular Versions (Major)
Popular Versions (Major.Minor)
Depended by
| Rank | Downloads | Name |
|---|
Depends on
| Rank | Downloads | Name |
|---|---|---|
| 9 | 1,236,879,944 | rake |
| 36 | 753,177,510 | activerecord |
| 107 | 421,557,843 | pg |
| 210 | 225,622,854 | mysql2 |
| 2,203 | 10,606,095 | mysql |
Owners
| # | Gravatar | Handle |
|---|---|---|
| 1 | willbryant |