seneca-entity的mysql插件自增主键
博客专区 > wilesun 的博客 > 博客详情
seneca-entity的mysql插件自增主键
wilesun 发表于9个月前
seneca-entity的mysql插件自增主键
  • 发表于 9个月前
  • 阅读 3
  • 收藏 0
  • 点赞 0
  • 评论 0
module.exports = {
    plugin: 'mysql-store',
    params: {
        name: 'test11',
        host: 'localhost',
        user: 'root',
        password: 'root',
        port: 3306,
        auto_increment:true
    }
};

seneca-entity的save$的代码分析

var update = !!ent.id

如果有id,则会用update,否则用insert

if (ent.id$) {
  ent.id = ent.id$
  query = QueryBuilder.savestm(ent)
  return done(null, {query: query, operation: 'save'})
}

if (autoIncrement) {
  query = QueryBuilder.savestm(ent)
  return done(null, {query: query, operation: 'save'})
}

如果实体上有id$,则用它来作为实体的id,否则检查是否是自增的,自增的配置是在plugin的参数中指定,auto_increment:true

否则会调

seneca.act({role: actionRole, hook: 'generate_id', target: args.target}, function (err, result) {

来生成一个uuid,注意:这个uuid是36位,不是我们常用的32位

共有 人打赏支持
粉丝 2
博文 32
码字总数 69338
×
wilesun
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: