Sha256: 66f31613824a8ec8511f09d645aabfb66285c6b46693cb69f73cd78154d9bd5b

Contents?: true

Size: 1.32 KB

Versions: 4

Compression:

Stored size: 1.32 KB

Contents

class AddForeignKeyConstraints < ActiveRecord::Migration[4.2]
  def change
    # user foreign keys
    add_foreign_key :concepts, :users, column: 'locked_by', on_delete: :nullify, on_update: :cascade
    add_foreign_key :exports, :users, column: 'user_id', on_delete: :nullify, on_update: :cascade
    add_foreign_key :imports, :users, column: 'user_id', on_delete: :nullify, on_update: :cascade

    # concept/collection foreign keys
    add_foreign_key :concept_relations, :concepts, column: 'owner_id', on_update: :cascade
    add_foreign_key :concept_relations, :concepts, column: 'target_id', on_update: :cascade
    add_foreign_key :collection_members, :concepts, column: 'collection_id', on_update: :cascade
    add_foreign_key :collection_members, :concepts, column: 'target_id', on_update: :cascade
    add_foreign_key :labelings, :concepts, column: 'owner_id', on_update: :cascade
    add_foreign_key :matches, :concepts, column: 'concept_id', on_delete: :cascade, on_update: :cascade
    add_foreign_key :notations, :concepts, column: 'concept_id', on_update: :cascade

    # labels
    add_foreign_key :labelings, :labels, column: 'target_id',  on_delete: :cascade, on_update: :cascade

    # note annotations foreign keys
    add_foreign_key :note_annotations, :notes, column: 'note_id', on_delete: :cascade, on_update: :cascade
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
iqvoc-4.14.5 db/migrate/20141204151558_add_foreign_key_constraints.rb
iqvoc-4.14.4 db/migrate/20141204151558_add_foreign_key_constraints.rb
iqvoc-4.13.2 db/migrate/20141204151558_add_foreign_key_constraints.rb
iqvoc-4.13.0 db/migrate/20141204151558_add_foreign_key_constraints.rb