Sequelize 如何动态设置 defaultValue?

发布于 2022-09-06 09:18:10 字数 958 浏览 16 评论 0

在用 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: '{}'
        }
    };
};

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

唐婉 2022-09-13 09:18:10

设置不了吧,你的数据库同表同字段能设置不同的默认值?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文