2016-03-30 16 views
1

Bir OrientDB veritabanında (sürüm 2.1.12) bir RDBMS (MySQL) şemasından bazı tablolar almaya çalışıyorum.Tabloları çok sütunlu yabancı anahtarlarla RDBMS'den ETL ile aktarma

Ben aşağıdaki gibi tanımlanır, demo adlı başka bir masaya bir özelliği ile bağlantılı yabancı anahtarla bir tablo adında ilacı var MySQL şemasındaki Örneğin

:

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

Ben ETL tanımlamak sorunumuz yok bu ilişki için

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

birleştirme alanını olarak primaryid özelliğini kullanarak, demo ve ilaç sınıfları arasında doğru bir kenar bağlantısı oluşturur: I aşağıdaki gibi tanımlanan bir trasformer kullanımı nedeniyle, orientDB grafikte aktarmak için modülü. Doğru bir grafik halinde tablo içe etl modülünde kenar transormer tanımlamak nasıl Bu durumda

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

:

Ama aynı zamanda çok sütunlu yabancı anahtar man adlı bir tablo aşağıdaki gibi tanımlanmış?

OrientDB belgelerinden Çok sütunlu yabancı anahtarlar için bir çözüm bulamıyorum. Olası bir çözümün, bir ayırıcı kullanarak PRIMARYID ve INDI_DRUG_SEQ özniteliklerinin bir dizgesi olarak yeni bir öznitelik tanımlamak olduğunu düşünüyorum, ancak bunun iyi bir çözüm olduğundan emin değilim.

Herhangi bir fikrin var mı?

cevap

0

Bununla çalışıyorum ve çalışma görünüyor:

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

çok sizin için çalışan varsa bana bildirin.

İlgili konular