Loopbackjs 环回自动迁移多对多
我们目前正在尝试编写一个数据示例创建脚本,以便将一些数据插入到数据库中以测试API。我们有一些不经过另一个模型的多对多关系,因此环回生成关联表及其键(实体1 fk、实体2 fk) 我们的示例数据存储在JSON文件中,稍后将加载这些文件并将其传递给datasource automigrate函数 我们遇到的问题是,数据源无法迁移存储在关联表中的数据(即使它们存在于数据库中),因为它们不作为适当的环回模型存在 例如,以实体Customer和CustomerGroup为例。一个客户可以属于多个CustomerGroup,一个CustomerGroup可以有多个客户,因此以下JSON将用于关联产生的CustomerGroupCustomer表:Loopbackjs 环回自动迁移多对多,loopbackjs,Loopbackjs,我们目前正在尝试编写一个数据示例创建脚本,以便将一些数据插入到数据库中以测试API。我们有一些不经过另一个模型的多对多关系,因此环回生成关联表及其键(实体1 fk、实体2 fk) 我们的示例数据存储在JSON文件中,稍后将加载这些文件并将其传递给datasource automigrate函数 我们遇到的问题是,数据源无法迁移存储在关联表中的数据(即使它们存在于数据库中),因为它们不作为适当的环回模型存在 例如,以实体Customer和CustomerGroup为例。一个客户可以属于多个Cust
[
{"CustomerGroupId": "1", "CustomerId": "1"},
{"CustomerGroupId": "2", "CustomerId": "2"},
{"CustomerGroupId": "1", "CustomerId": "3"}
]
是否有一种方法可以使用默认方法迁移此数据,或者我们应该寻找一种解决方法?所以我已经找到了!我以前使用此函数自动迁移表:
function automigrate(connection, table, data) {
app.models[table].create(data, function(err, models) {
if (err) throw err; console.log('|- ' + table);
});
}
事实证明,app对象不知道数据源生成的多对多表,而数据源知道。因此,您只需从数据源对象而不是应用程序检索模型:
function automigrate(connection, table, data) {
connection.adapter._models[table].model.create(data, function(err, models) {
if (err) throw err; console.log('|- ' + table);
});
}