2

我将 GAE 与 Cloud SQL 一起使用。

我似乎看不到文档中提到的这一点,所以我想我只是想澄清一下我的理解。

是分组交易的标准方法,即:

def do_something_in_transaction(...)
  update my CloudSQL database record
  taskqueue.add(url='/path/to/my/worker', transactional=True)
  ...

db.run_in_transaction(do_something_in_transaction, ....)

假设为云 SQL 工作?

我还可以在 run_in_transaction 调用期间更新/插入/删除多条记录(即我需要的多条记录)吗?

IE:

def do_something_in_transaction(...)
   x_id = insert record into table x
   update table y record with x_id
   insert record into table a
   insert record into table b
   … etc
  taskqueue.add(url='/path/to/my/worker', transactional=True)

在此先感谢,马特

4

1 回答 1

2

鉴于它是 db 组件的一部分,我认为 run_in_transaction 特定于数据存储。

对于 CloudSQL,使用 SQL 事务命令 START TRANSACTION、COMMIT、ROLLBACK。

于 2012-11-14T15:26:18.167 回答