在用 Sequelize 设置 defaultValue 时,不想用自带的 UUID,想自己维护这个 id,但是运行起程序后,通过 function 得到的 id 将不会再被动态改变,这个如何实现呢?
这是自带的 UUID:
module.exports = function ( sequelize, DataTypes ){
return {
id: {
type: DataTypes.STRING,
unique: true,
primaryKey: true,
defaultValue: DataTypes.UUIDV4 // 这里想自己维护动态 id
},
json_str: {
type: DataTypes.TEXT,
defaultValue: '{}'
}
};
};
想要改成动态获取id,类似这样,但是目前在运行程序时,就已经确定了一个:
let id = 0;
function getId() {
id++;
return id;
}
module.exports = function ( sequelize, DataTypes ){
return {
id: {
type: DataTypes.STRING,
unique: true,
primaryKey: true,
defaultValue: getId()
},
json_str: {
type: DataTypes.TEXT,
defaultValue: '{}'
}
};
};
设置不了吧,你的数据库同表同字段能设置不同的默认值?