【altplus TECH BLOG更新】Laravelで「DBのデフォルトコネクション」を禁止する — PHPStanカスタムルールで“うっかり事故”を防ぐ
こんにちは!オルトプラス採用担当です。
【altplus TECH BLOG】に本日、下記内容が公開されました。
Laravelで「DBのデフォルトコネクション」を禁止する — PHPStanカスタムルールで“うっかり事故”を防ぐ
今回はDB 環境でデフォルト接続が招く事故とその対策について、弊社エンジニアがまとめています。
LaravelのDB Facadeって、手軽にデータベース操作が書けて本当に便利ですよね。DB::transaction() やDB::table()など、普段の開発では特に深く考えずに使っている方も多いと思います。
ただ、これが「複数のデータベースを扱うプロジェクト(マルチDB)」になった途端、ちょっとした落とし穴に変わることがあります。コードレビューでは一見問題なさそうに見えるのに、実は意図しないデフォルトのDB接続にアクセスしてしまっていて、一連のデータ書き換えで重大な事故に繋がる……というケースです。
こうした「うっかりミス」を、「次回から気をつけよう」という個人の注意や人間のレビューだけに頼って防ぎ続けるのは、正直限界があります。
そこでオルトプラスのバックエンドチームでは、実際に起きた苦いトラブルをきっかけに、「PHPStanのカスタムルール」を自作して、該当するコードを静的解析で自動的に検知・禁止する仕組みを作りました。
今回は、その事故が起きた背景から、ルールをどう実務のコードに落とし込んで自動化していったのか、その具体的なステップをまとめました。複数DBの運用でヒヤッとしたことがある方や、静的解析をもう一歩実務で活用したい方の参考になれば嬉しいです。
https://tech-blog.altplus.co.jp/Laravel-DB-PHPStan-383d05e214e58096b734d726e885113d
次回更新もお楽しみに♪
/assets/images/19263977/original/b4315c5c-4d5a-4778-8818-562abdef9179.png?1727319939)