2016-03-30 10 views
1

RDBMS(MySQL)スキーマからOrientDBデータベース(バージョン2.1.12)の一部の表をインポートしようとしています。RDBMSから複数列の外部キーを持つ表をETLでインポートする

私は次のように定義され、デモという名前の別のテーブルの属性にリンクされている外部キーを持つテーブルという名前の薬を持っているMySQLのスキーマのインスタンスについて

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

私はETLを定義するため問題はない、この関係のために

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

結合フィールドとしてprimaryid属性を使用して、正しくデモと薬物クラス間のエッジの接続を作成します。私は次のように定義されたtrasformerを使用しているため、orientDBグラフにインポートするためのモジュール。

しかし、私はまた、次のように定義された複数列の外部キーとINDIという名前のテーブルがあります。この場合

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

をどのように私は正しくグラフにテーブルをインポートするETLモジュールのエッジtransormerを定義することができますか?

orientDBのドキュメントから、複数列の外部キーの解決策が見つかりません。可能な解決策は、セパレータを使用してPRIMARYIDとINDI_DRUG_SEQ属性の文字列を連結して新しい属性を定義することですが、それが良い解決策であるかどうかはわかりません。

アイデア?

答えて

0

私はこれをしようとしているし、それが働いているようだ:

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

は、それはあまりにもあなたのために働くなら、私に教えてください。

関連する問題