seneca-entity的mysql插件自增主键

module.exports = {
    plugin: 'mysql-store',
    params: {
        name: 'test11',
        host: 'localhost',
        user: 'root',
        password: 'root',
        port: 3306,
        auto_increment:true
    }
};

seneca-entity的save$的代码分析mysql

var update = !!ent.id

若是有id,则会用update,不然用insertsql

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:trueui

不然会调rem

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

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

相关文章
相关标签/搜索