我有一个表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 最新