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