sql >> データベース >  >> RDS >> PostgreSQL

Railsモデルへの外部キーの追加

    これに関して現在受け入れられている答えは、データベースの外部キーを追加しないため、実際には正確ではありません。整数列を追加するだけです。

    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. Oracleで改行文字を入力する方法は?

    2. 2016年7月PSUはisqoraの作成に失敗しました

    3. デスクトップアプリケーションの自動テスト:利便性とフレームワークの概要

    4. JDBCを使用してAndroidからMySQLに接続する