Sequelize迁移添加数组列

3
我是一位中文翻译助手,以下是您需要翻译的内容:

我正在尝试通过迁移向特定表添加列。 目标是添加包含枚举值的数组类型列。

第一次尝试:

await queryInterface.addColumn(
      'Locations',
      'tags',
      {
        type: Sequelize.ARRAY(Sequelize.ENUM({
          values: ['Competitor', 'Multi Location', 'Duplicate']
      })),
      }
    );

结果:错误:类型 "public.enum_Locations_tags[]" 不存在

尝试2:

await queryInterface.sequelize.query("CREATE TYPE enum_Locations_tags AS ENUM ('Competitor', 'Multi Location', 'Duplicate');");
    await queryInterface.addColumn(
      'Locations',
      'tags',
      {
        type: Sequelize.ARRAY(Sequelize.ENUM({
          values: ['Competitor', 'Multi Location', 'Duplicate']
      })),
      }
    );

结果: 错误:类型 "public.enum_Locations_tags[]" 不存在

有什么解决方法吗? 提前致谢!


1
我建议在命令行中打开数据库并查看名称。有时,ORM会使用双引号来命名表,例如:它会创建一个带有"user"而不是user的表。 - Uday Yadav
你有没有找到答案? - Fre Timmerman
我在这里使用了原始查询,而不是上述的方法。 - Inamul Hassan
1个回答

1
await queryInterface.addColumn('event-action-item', 'actionTags', {

  type: Sequelize.DataTypes.ARRAY(Sequelize.DataTypes.STRING),

  defaultValue: [],

});

1
你的回答可以通过添加更多关于代码功能和如何帮助提问者的信息来改进。 - Tyler2P

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接