Javascript Sequelize正在运行的迁移结果无法读取属性';键';未定义的
我想更新列以将NOTNULL设置为false,但是运行db:migration失败,并显示以下错误消息: 无法读取未定义的属性“key” 以下是迁移代码:Javascript Sequelize正在运行的迁移结果无法读取属性';键';未定义的,javascript,node.js,orm,sequelize.js,Javascript,Node.js,Orm,Sequelize.js,我想更新列以将NOTNULL设置为false,但是运行db:migration失败,并显示以下错误消息: 无法读取未定义的属性“key” 以下是迁移代码: 'use strict'; module.exports = { up: (queryInterface, Sequelize) => { return queryInterface.changeColumn('Notes', 'title', { allowNull: false }); }, d
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.changeColumn('Notes', 'title', {
allowNull: false
});
},
down: (queryInterface, Sequelize) => {
return queryInterface.changeColumn('Notes', 'title', {
allowNull: true
});
}
};
如下所述,我的代码似乎没有问题
表和字段都存在,我错了什么?只是一个提示,告诉你如何修复它。我认为查询接口对象无法找到必须迁移的表的名称或列。您可以只打印Sequelize对象和其中的模型,并使用Sequelize对象的相同名称吗。我也尝试过同样的库,它非常有效。我自己也有这个问题。从我在源代码Sequelize中看到的情况来看,Sequelize假定在更改列时始终提供类型。我在您链接的文档中也看到了这一点:“请确保您完整地描述了新的数据类型。”您必须提供列类型,无论您是否要更改它
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.changeColumn('Notes', 'title', {
type: Sequelize.STRING,
allowNull: false
});
},
down: (queryInterface, Sequelize) => {
return queryInterface.changeColumn('Notes', 'title', {
type: Sequelize.STRING,
allowNull: true
});
}
};
你能分享一些详细的代码吗?至少有一个处理函数在执行此操作的地方,以及显示错误的行/文件。@RahulYadav实际上没有更多的代码用于此操作。我所做的就是运行$sequelize db:migrate并得到那个错误。