此Sequelize commit似乎确认了命名主键' id'让它变得特别。根据我使用以下代码段的测试,将字段名称更改为' id'之外的其他内容。足够没有设置默认值,因此插入失败。
id: { type: DataTypes.UUID, primaryKey: true, defaultValue: DataTypes.UUIDV4, allowNull: false }
那么有没有办法保持命名主键字段的灵活性并将其默认为UUID?
答案 0 :(得分:0)
问题有点太老了,那时我认为这不可能 ,但在2018年有可能:),我们开始吧:
要定义自己的主键:
sequelize.define('collection', {
uid: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true // Automatically gets converted to SERIAL for postgres
}
});
sequelize.define('collection', {
uuid: {
type: Sequelize.UUID,
primaryKey: true
}
});