TONY0922のブログ

学んだことを適当に記録していくブログです。主にRubyで仕事してます。最近はJavaScriptとObjectibe-C始めました。Titanium関連もちょいちょい触ってます。更新頻度はそんなに高くないので、ご了承下さい。

Titanium Mobileでトランザクション(trunsaction)。

Titanium SDK:3.2.0
Alloy:1.3.0

AlloyトランザクションをやってくれるAPI等はまだ提供されてないみたい。
なので、下記な感じで書きましょう。

var db = Ti.Database.open('_alloy_');
db.execute('BEGIN TRANSACTION');

db.execute(String.format("insert into table_name (title) values ('%s')", "title_name"));
// Alloy.createModel(ほげほげ).save() みたいなことやってもトランザクションの対象にはなりません。

db.execute('COMMIT;');
db.close();

【問題点】
Alloy使ってる人は、
上記でinsertしたレコードにはalloy_idが入らないので、
注意してください。