2016-03-30 13 views
1

Ich versuche, in einer OrientDB-Datenbank (Version 2.1.12) einige Tabellen aus einem RDBMS (MySQL) -Schema zu importieren.Importieren von Tabellen mit mehrspaltigen Fremdschlüsseln aus RDBMS mit ETL

Zum Beispiel in MySQL Schema I mit einem Fremdschlüssel zu einem Attribut einer anderen Tabelle Demo, wie folgt definiert Namen verknüpft eine Tabelle mit dem Namen Droge:

primaryid bigint references demo(PRIMARYID) on update cascade on delete cascade 

Für diese Beziehung habe ich keine Probleme zu ETL definieren Modul für in Orientdb graph importieren, weil ich eine Trasformer wie folgt definiert verwenden:

"transformers": [ 
    { "vertex": { "class": "drug" } }, 
    { "edge": { "class": "drugDemo", 
       "joinFieldName": "primaryid", 
       "lookup": "demo.primaryid", 
       "direction": "in" 
      } 
     } 
    ], 

, die als Verknüpfungsfeld korrekt eine Kantenverbindung zwischen Demo und Substanzklassen verwenden primaryid Attribut erzeugt.

Aber ich habe auch eine Tabelle mit dem Namen indi mit mehrspaltigen Fremdschlüsseln wie folgt definiert:

foreign key (PRIMARYID, INDI_DRUG_SEQ) references drug(PRIMARYID, DRUG_SEQ) 

In diesem Fall, wie kann ich Kante transormer in ETL-Modul definieren, die korrekt Tabelle in ein Diagramm importieren?

Aus orientDB Dokumentation kann ich keine Lösung für mehrspaltige Fremdschlüssel finden. Ich denke, dass eine mögliche Lösung darin besteht, ein neues Attribut als eine Verkettung von Strings von PRIMARYID- und INDI_DRUG_SEQ-Attributen zu definieren, die ein Trennzeichen verwenden, aber ich bin nicht sicher, ob es eine gute Lösung ist.

Irgendwelche Ideen?

Antwort

0

Ich bin mit diesem Versuch, und es scheint, arbeiten:

"transformers": [ 
{ "vertex": { "class": "indi" } }, 
{ "edge": { "class": "indiDemo", 
      "joinFieldName": "primaryID", 
      "lookup": "demo.primaryID", 
      "joinFieldName": "indi_drug_seq", 
      "lookup": "demo.drug_seq", 
      "direction": "in" 
     } 
} 
], 

Lassen Sie mich wissen, ob es auch für Sie arbeitet.

Verwandte Themen