Frage

Ich möchte eine has_many Beziehung unter

beschrieben
class 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?

War es hilfreich?

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
scroll top