代码之家  ›  专栏  ›  技术社区  ›  modernator

Sequelize正在运行的迁移结果无法读取未定义的属性“key”

  •  1
  • modernator  · 技术社区  · 6 年前

    我想更新列,将not null设置为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
        });
      }
    };
    

    如下 document ,我的代码好像没什么问题。

    表和字段都存在,我怎么了?

    2 回复  |  直到 6 年前
        1
  •  0
  •   kashish verma    6 年前

    只是一个小贴士如何修复它。我认为查询接口对象找不到需要迁移的表的名称或列。你能把你的序列对象和模型打印在里面,然后用你的序列对象的名字命名吗?我试过同一个图书馆,它很有魅力。

        2
  •  1
  •   AyanamiSan    6 年前

    我自己也有这个问题。根据我在源代码Sequelize中看到的,假设在更改列时始终提供类型。我在您链接的文档中也看到了它:“请确保您完全描述了新的数据类型。”