PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Добавяне на външен ключ към релсов модел

Приетият в момента отговор на това не е наистина точен, тъй като не добавя външен ключ на базата данни. Това е просто добавяне на колони с цели числа.

ВRails 4.2.x , текущият подход е:

http://guides.rubyonrails.org/active_record_migrations.html#foreign-keys

Създайте миграция:

rails generate migration migration_name

Засъществуващи колони , в миграцията добавете външните ключове по следния начин:

class MigrationName < ActiveRecord::Migration
  def change
    add_foreign_key :business_hours, :businesses
    add_foreign_key :businesses, :users
  end
end

ЗаRails 4.x или ако добавяте нова колона и искате да е външен ключ, можете да направите това, където вероятно също искате да посочите индекса като true, но това не е част от изискването за външния ключ:

http://edgeguides.rubyonrails.org/active_record_migrations.html#creating-a-migration

class MigrationName < ActiveRecord::Migration
  def change
    add_reference :business_hours, :business, index: true, foreign_key: true
    add_reference :businesses, :user, index: true, foreign_key: true
  end
end


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Отидете на заявка LIKE на postgresql

  2. PostgreSQL Кръстосана заявка

  3. PostgreSQL + Hibernate + Spring автоматично създаване на база данни

  4. Как работи COPY и защо е толкова по-бързо от INSERT?

  5. Вземете първия ден от месеца в PostgreSQL