egg插件sequelize:事务

我怕爱的太早我们不能终老 提交于 2020-07-29 03:49:01

用户表,id自增主键:

user
id username create_time
1 admin 1594562489 

用户信息表,id为主键:

user_info
id mobile email
1 18888888888 admin@168.com

添加数据:

const userData = {
    username: 'qqzhxl',
    create_time: 1594562500
};
const userInfoData = {
    email: 'qqzhxl@126.com',
    mobile: '16666666666'
};
const t = await this.app.model.transaction();
try {
    const userRes = await this.ctx.model.User.create(userData, {
        raw: true,
        transaction: t
    });
    userInfoData.id = userRes.id;
    const userInfoRes = await this.ctx.model.Userinfo.create(userInfoData, {
        raw: true,
        transaction: t
    });
    if (userRes && userInfoRes) {
        t.commit();
        return true;
    }
    t.rollback();
} catch (e) {
    t.rollback();
}

注意: 如果出现userRes.id为空,则在user模型定义时设置主键的autoIncrement为true,未设置的话返回的自增id会存在userRes.null里

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!