WordPressでロールバックしたりコミットしたりする記事をQiitaに上げました

雑記

どーも、えーともです!

昨日、Qiitaに「WordpressとMySQLでトランザクション処理をする」を投稿しました。

WordpressとMySQLでトランザクション処理をする - Qiita
一度の処理で複数のテーブルを更新する際、予期しないエラーが発生して中途半端にデータが更新されて放置されてしまう可能性がある。 それを避けるためにテーブルを更新する前にトランザクションを開始して、エラーが発生したらロールバック、処理が成...

書いた理由

仕事で一度の処理で複数の独自テーブルを更新する処理を作っています。
今までWordpressでは簡単な機能の開発しかしてなかったので、エラー処理を意識したことがなかったのです。
で、今回「これ、途中で止まったらヤバくね?」って事に気づいてエラー処理入れるついでにトランザクション処理を入れたと。

Google先生に聞いたとき、自分が検索に使った「Wordpress トランザクション」ってキーワードではあまり具体的なTIPSが出てこなかったのでQiitaに上梓した次第。

WordPressカスタマイズのブログ運営している皆さん!今が狙い目ですよ!キーワードの検索数は少ないだろけど!

調べて学んだこと

今回Qiitaに書く時に色々とお勉強させてもらいました。

  1. 一口にMySQLって言っても使用しているデータベースエンジンによって動きが異なる
  2. MySQLのテーブルロックのREADロックは「他セッションが読んでもOK」なロックじゃない
  3. MySQL上でクエリを実行するためのmysqli_queryって関数がある(Qiitaには載せてないけど)

もうちょっと勉強しないといけないなって感じたトコ

  • エラー処理全般。
    「ホントにロールバックして返すだけでええんか?」みたいな
  • MySQLの仕様というか、RDBMSの基本。
    リファレンス読んでも「?」ってなるような話が多いから基本部分ができてないなぁと痛感。

WordPressって敷居低いよね

WordPressって情報量の多さから導入とカスタマイズの敷居が低くて、エラー処理とかあまり意識しなくてもそれなりの機能を短時間で作れちゃいますよね。
自分がそうなんです。先人の皆さん、ありがとうございます。

自分も少しでも知識をアウトプットして後々、誰かの助けになればいいなぁと思ってます。


トランザクションについては前職でVB.NETとかASP.NETで開発してた時はかなり意識してたんですけどねぇ。
そういえば、最初に作ったアプリは1つのテーブルを更新する度にコミットしていた気がします。トランザクションの意味が無い。誰か直してくれてるといいな。

それでは。えーともでした!

コメント