gpt4 book ai didi

mysql - Waterline 将模型更改应用于一个模型/表的 mysql 数据库,但忽略另一个模型/表

转载 作者:行者123 更新时间:2023-11-29 08:01:03 25 4
gpt4 key购买 nike

我目前正在使用 sailsJs 开发一个全新的项目,在 mysql 适配器/连接上使用水线。

目前,我只有 2 个表/模型。一个是 User,它似乎按预期工作。当我'sails lift'时,我对此模型所做的任何更改都会应用于 mysql 实例。

但是,另一个模型/表是 Company,除了在生成模型后第一次创建表之外,当我'sails lift'时,它似乎被完全忽略了。

显然,我可以根据自己的意愿在实例上进行更改,而不依赖于 sails/水线,但无论如何它都让我发疯。

这是被忽略的模型:

module.exports = {
tableName: 'Companies',
attributes: {
name: {
type: 'string',
required: true,
minLength: 2,
notNull: true,
maxLength: 50
},
description: {
type: 'string',
minLength: 2,
maxLength: 1024,
notNull: true,
defaultsTo: ''
},
industry: {
type: 'string',
required: true,
defaultsTo: 'generic'
},
employeeCount: {
type: 'integer',
required: true,
min: 1,
defaultsTo: 1
},
createdBy: {
type: 'integer',
required: true
},
//address fields
country: {
type: 'string',
required: true
},
city: {
type: 'string',
required: true
},
street: {
type: 'string',
required: true
},
areaCode: {
type: 'string',
required: true
},
phone: {
type: 'string',
required: true
}

},
beforeCreate: function(company, cb){
//do something
}
};

编辑:这只是在创建表后才会出现的问题。当我删除表格并重新启动 sails 时,表格再次使用我的所有更改创建,但再次更改模型后,它不会将它们应用到表格。我猜这是一个仍然需要修复的水线错误,但我仍然想知道为什么它会忽略一个模型,但对另一个模型却完全没问题。

最佳答案

一个问题是在模型的 beforeCreate 中,您有 cb 作为参数,但它永远不会被调用,您需要 cb();该函数中的某个位置。

关于mysql - Waterline 将模型更改应用于一个模型/表的 mysql 数据库,但忽略另一个模型/表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23803526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com