yii2 跨数据库事务

mysql上面有两个数据库 因为业务关系 两个数据库存在交互 一个操作同时会写入两个数据库的表 这就存在事务操作

按照平时写法

$transaction = ActiveRecord::getDb()->beginTransaction();

但是发现只能回滚一个数据库 另外一个还是执行成功

在网上搜了不少 但是不行

最后的只能

try{
  $transaction01 = ActiveRecord::getDb()->beginTransaction();

  $transaction02 = ActiveRecord::getDb()->beginTransaction();

  $transaction01->commit(); 
  $transaction02->commit();
} cache(Exception $e) {
  $transaction01->rollback(); 
  $transaction02->rollback();
}

 

这种写法看起来挺low 的 但是目前也没有想到好的办法

目前测试没有大问题 后续看效果吧

 

posted @ 2020-10-30 20:32  包子心的土豆  阅读(281)  评论(0编辑  收藏  举报