RubyGems Navigation menu

foreign_key_saver 2.0.0

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.

Gemfile:
= Copy to clipboard Copied!

install:
=

Versions:

  1. 2.0.0 - April 21, 2013 (9.5 KB)

Runtime Dependencies (1):

Development Dependencies (4):

mysql >= 0
mysql2 >= 0
pg >= 0
rake >= 0

Owners:

Authors:

  • Will Bryant

SHA 256 checksum:

7501ea19c5e654701424e7fcc8d2b8c01ce2b1f21f927fb45916135deb5ea7b1

Total downloads 4,807

For this version 4,807

Licenses:

N/A

Required Ruby Version: None

Links: