2017-02-03 4 views
0

私たちは現在、APIをテストするためにいくつかのデータをdbに挿入するためにデータサンプル作成スクリプトを作成しようとしています。他のモデルを経由しない多対多リレーションがいくつかあるので、ループバックは連想テーブルとそのキー(エンティティ1 fk、エンティティ2 fk)を生成します。ループバックは多くのものか​​ら多くのものを自動化

私たちのサンプルデータは、後で読み込んでJSONファイルに格納し、データソースのautomigrate関数に渡します。

私たちが遭遇した問題は、適切なループバックモデルとして存在しないため、データソースは(たとえデータベースに存在していても)関連テーブルに格納されたデータを移行できないことです。

たとえば、エンティティCustomerおよびCustomerGroupを取ります。デフォルトのメソッドを使用して、このデータを移行する方法はあり

[ 
    {"CustomerGroupId": "1", "CustomerId": "1"}, 
    {"CustomerGroupId": "2", "CustomerId": "2"}, 
    {"CustomerGroupId": "1", "CustomerId": "3"} 
] 

:お客様には、複数のCustomerGroupsに所属することができ、CustomerGroupは、多くの顧客を持つことができますので、以下のJSONは、協会から生じCustomerGroupCustomerテーブルのために使用されます回避策を探しているべきですか?

答えて

0

だから私はそれを理解しました!データソースがないのに対し、それは結局のところ

function automigrate(connection, table, data) { 
    app.models[table].create(data, function(err, models) { 
     if (err) throw err; console.log('|- ' + table); 
    }); 
} 

Appオブジェクトは、データソースによって生成されている多対多のテーブルを知っていない:私は前に私のテーブルをautomigrateするために、この機能を使用していました。だから、アプリケーションの代わりにデータソースオブジェクトからモデルを取得するだけです:

function automigrate(connection, table, data) { 
    connection.adapter._models[table].model.create(data, function(err, models) { 
     if (err) throw err; console.log('|- ' + table); 
    }); 
} 
関連する問題