sequelize sync force true更改列类型

时间:2019-06-05 02:03:27

标签: sequelize.js

我有一个表EventUserDish,在测试过程中,我使用sync({force: true})擦除数据库beforEach测试。但这出于某种原因会修改我的列类型。在下面的示例中,当我运行sync时,即使我明确告诉了unique: false,它也会将userId更改为唯一。

这是我的模型定义:

const EventUserDish = <EventUserDishModel>sequalize.define('EventUserDish', {
    id: {
      allowNull: false,
      autoIncrement: true,
      primaryKey: true,
      type: DataTypes.INTEGER
    },
    eventId: {
      allowNull: false,
      type: DataTypes.INTEGER
    },
    dishId: {
      allowNull: false,
      type: DataTypes.INTEGER
    },
    userId: {
      allowNull: false,
      unique: false,
      type: DataTypes.INTEGER
    },
  });
  return EventUserDish;
};

在beforeEach钩子之后,userId列现在是UNIQUE。还有其他怪异的行为,例如某些表未同步,因此在测试期间,这些表将在关系不存在时出现。

我不确定这是否与Typescript有关,或者是同步同步问题。

续集5.3.0 最新

0 个答案:

没有答案