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