Active, ‚foregin_key‘ hat eine Kombination aus zwei Feldern sein
-
16-09-2019 - |
Frage
Ich möchte eine has_many Beziehung unter
beschriebenclass User < ActiveRecord::Base
has_many :mcollections, :foreign_key=>'obj_id'
end
Im Folgenden finden Sie Definition der Tabelle mcollections
create table mcollections (
id int not null auto_increment,
obj_id varchar(255) not null,
category varchar(255) not null,
);
Die :foreign_key
ist kein Bereich auf dem Tisch mcollections
. Fremdschlüssel hat eine Kombination aus zwei Feldern (obj_id + category
) sein. Wie kann ich dies in User
Klasse angeben?
Lösung
Ich sehe den Sinn nicht Fremdschlüssel hier zu verwenden. Ein Fremdschlüssel sollte der Primärschlüssel einer anderen Tabelle sein. Weder OBJ_ID noch Kategorie könnte als Fremdschlüssel verwendet werden, da sie nicht Teil des Primärschlüssels sind.
Andere Tipps
kippen Sie es tun eine andere Art und Weise?
Es ist nicht die beste Praxis mehrspaltigen Fremdschlüssel in Schienen zu verwenden ...
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow