gotohayato.com

月(ダークモード)
太陽(ライトモード)

Drupal 7 で DB トランザクションを明示的にコミットする方法

Drupal 7

Drupal 7 で DB トランザクションを明示的にコミットする方法について。

Drupal では使用している DB がトランザクションをサポートしている場合は db_transaction() 関数でトランザクションを開始することができます。そして、ロールバックや例外などが発生しないかぎり一連の処理が終了して関数のスコープを抜けるときに自動的にトランザクションがコミットされます。

この自動コミットの仕組みに任せるのではなく、意図的に所定の場所でコミットしたい場合には次のようにすると OK です。 unset() の後に DB 関係の例外が発生しても unset() までの部分はコミット済みとなります。

$transaction = db_transaction();
// DB 変更処理
// トランザクションを明示的にコミット
unset($transaction);
throw new TransactionException();

後藤隼人 (ごとうはやと)

ウェブ制作・開発やマーケティング、プロジェクト支援などをしています。

GitHubPython

お知らせ

大阪大学医学部附属病院 高度救命救急センターさんが現在クラウドファンディングのプロジェクトをされています(後藤も少しだけ寄附させていただきました)。
© 2021 gotohayato.com
サイトについてタグアーカイブメッセージを送る