[英]loopback HasAndBelongsToMany relation id property in created table
[英]loopback hasandbelongstomany relation table doesn't exist
我定義了兩個模型:'part'模型:
{
"name": "part",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"name": {
"type": "string"
}
},
"validations": [],
"relations": {
"assemblies": {
"type": "hasAndBelongsToMany",
"model": "assembly",
"foreignKey": ""
}
},
"acls": [],
"methods": {}
}
和“裝配”模型:
{
"name": "assembly",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"title": {
"type": "string",
"required": true
}
},
"validations": [],
"relations": {
"parts": {
"type": "hasAndBelongsToMany",
"model": "part"
}
},
"acls": [],
"methods": {}
}
這兩個模型都有hasAndBelongToMany關系。
在/server/boot/sample-model.js中,我創建了這兩個模型的一些實例:
module.exports = function(app){
var Dev = app.dataSources.dev;
var Customer = app.models.customer;
var Order = app.models.order;
var Part = app.models.part;
var Assembly = app.models.assembly;
Dev.automigrate(['customer', 'order', 'assembly', 'part'], function(err) {
Customer.create([
{name: 'nicolas'},
{name: 'marie'},
{name: 'cyril'}
], function(err, customers){
Part.create([
{name: 'boulon'},
{name: 'ecrou'},
{name: 'cheville'},
], function(err, part){
//console.log(part[0])
Assembly.create([
{title: 'piece1'},
{title: 'piece2'},
{title: 'piece3'},
], function(err, assemblies){
//console.log(assemblies[0])
assemblies[0].parts.add(part[0], function(err){
if(err){
console.log(err)
}
})
})
})
});
});
}
但
assemblies[0].parts.add(part[0], function(err){
if(err){
console.log(err)
}
})
以錯誤結尾:
{ [Error: ER_NO_SUCH_TABLE: Table 'database_development.assemblypart' doesn't exist]
code: 'ER_NO_SUCH_TABLE',
errno: 1146,
sqlState: '42S02',
index: 0 }
為什么回送不在我的數據庫中創建assemblypart表?
我遇到了同樣的問題,經過數小時的努力(使用postgres連接器),我找到了幾種解決方案。
這是最短的:
代替 :
Dev.automigrate(['customer', 'order', 'assembly', 'part'], function(err) {
// Your code here
});
嘗試使用這個:
Dev.automigrate()
.then(function(err) {
// Your code here
});
我不知道為什么,但是在第二種情況下,創建了聯結表。
您可以嘗試一下,讓我知道它是否適合您嗎? 如果不是,您能否提供一些地方供我檢查並嘗試運行您的代碼?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.