Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Sequelize正在运行的迁移结果无法读取属性';键';未定义的_Javascript_Node.js_Orm_Sequelize.js - Fatal编程技术网

Javascript Sequelize正在运行的迁移结果无法读取属性';键';未定义的

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

我想更新列以将NOTNULL设置为false,但是运行db:migration失败,并显示以下错误消息:

无法读取未定义的属性“key”

以下是迁移代码:

'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并得到那个错误。