sql >> Databáze >  >> RDS >> PostgreSQL

Přidání cizího klíče do modelu kolejnic

Aktuálně přijímaná odpověď na to není opravdu přesná, protože nepřidává cizí klíč databáze. Je to jen přidávání celých sloupců.

V Rails 4.2.x , aktuální přístup je:

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

Vytvořte migraci:

rails generate migration migration_name

Pro stávající sloupce , při migraci přidejte cizí klíče takto:

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

Pro Rails 4.x nebo pokud přidáváte nový sloupec a chcete, aby to byl cizí klíč, můžete to udělat, kde pravděpodobně také chcete zadat index jako true, ale to není součástí požadavku na cizí klíč:

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. Oprava „ERROR 1054 (42S22):Neznámý sloupec „…“ v „klauzuli on“ v MariaDB

  2. Spojovníky v názvech sloupců v MySQL DB

  3. Jak vkládat a mazat data v PostgreSQL

  4. Jak funguje funkce OCTET_LENGTH() v MySQL