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位