Ich habe die folgenden zwei Modelle:
class Store < ActiveRecord::Base
belongs_to :person
end
class Person < ActiveRecord::Base
has_one :store
end
Hier ist das Problem: Ich versuche, eine Migration zu erstellen, um den Fremdschlüssel in der Personentabelle zu erstellen. Die Spalte, die sich auf den Fremdschlüssel von Store bezieht, heißt jedoch nicht store_id, wie dies bei der Rails-Konvention der Fall wäre, sondern foo_bar_store_id .
Wenn ich der Rails-Konvention folgen würde, würde ich die Migration folgendermaßen durchführen:
class AddReferencesToPeople < ActiveRecord::Migration
def change
add_reference :people, :store, index: true
end
end
Dies funktioniert jedoch nicht, da der Spaltenname nicht store_id, sondern foo_bar_store_id lautet . Wie gebe ich an, dass der Fremdschlüsselname nur anders ist, aber dennoch den Index: true beibehält, um eine schnelle Leistung zu gewährleisten?