Sagen wir, ich habe ein Modell Hunde und jeder Hund hat genau 2 Cat „Feinde“, enemy1
und enemy2
, wie kann ich die Migrationsdatei schreiben, so dass ich dog.enemy1
nennen kann die erste abrufen Feind und dog.enemy2
den zweiten Feind abzurufen? Ich versuchte dies:Mehrere Verbände auf das gleiche Modell in Rails
create_table :dog do |t|
t.string :name
t.timestamps null: false
end
add_index :dog, :name
add_foreign_key :dogs, :cats, column: :enemy1_id
add_foreign_key :dogs, :cats, column: :enemy2_id
end
Ich versuchte es auch mit der t.references
Methode konnte aber nicht an der Arbeit. Ich habe stundenlang an diesem Problem gearbeitet. und es funktioniert gut in der Entwicklung, aber nicht auf Heroku Postgres. Der Fehler, den ich bekommen ist
ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR:column "enemy1_id" referenced in foreign key constraint does not exist.
Irgendwelche Ideen?