1
我使用帆水线MySQL的适配器管理数据库水线,交易为多模型
假设我有两个型号,客户和合同,当我创建了一个合同,我还需要找到或创建此客户。但有可能我创建了这个客户,然后合同未能创建。所以我正试图获得这样做的交易方式。
从https://github.com/balderdashy/waterline/issues/62我发现了关于一个模型的交易。如发现和创造
Customer.transaction().findOne({name:"aaa"}).done(function(err,data){
if(err) data.rollback(callback);
if(!data)//does not exist
Customer.create({name:"aaa"}).done(function(err,data2){
data.save().commit()
});
});
不过,说,如果我需要建立两个模型,这两种模式应该建立或者未创建。就像合同失败一样,那么客户端也不应该被创建。我该怎么做?
Customer.transaction().create({name:"aaa"}).done(function(err,client){
if(err) return client.rollback(callback);
Contract.create({contractname:"bbb"}).done(function(err,contract){
if(err) return client.rollback(callback);
client.save().commit()
});
});
这个client.save()还会控制合同模型吗?
谢谢
任何消息呢? =) – 2015-04-27 21:13:53
很高兴知道某人也有这个问题哈哈。检查我对自己问题的回答。 – Evilsanta 2015-04-27 21:23:45