Die Ruby on Rails-Datenbankmigration erstellt keine Fremdschlüssel in MySQL-Tabellen

Ich versuche, eine Datenbankmigration in einer Ruby on Rails-Anwendung zu ändern. Ich verwende MySQL als meine Datenbank und möchte der Tabelle, die erstellt wird, Fremdschlüssel hinzufügen. Ich verwende den folgenden Code, und während die Spezifikationen zum Erstellen von Nullwerten für entsprechende Spalten befolgt werden, werden keine Fremdschlüsseleinschränkungen angewendet.

class CreateBookCheckOuts < ActiveRecord::Migration
  def self.up
    create_table :book_check_outs do |t|
      t.integer :book_id, :null => false, :options =>
        "CONSTRAINT fk_book_check_out_books REFERENCES books(id)"
      t.integer :person_id, :null => false, :options =>
        "CONSTRAINT fk_book_check_out_people REFERENCES people(id)"
      t.datetime :OutDate, :null => false
      t.datetime :ReturnDate, :null => true

      t.timestamps
    end
  end

  def self.down
    drop_table :book_check_outs
  end
end

Antworten auf die Frage(1)

Ihre Antwort auf die Frage