go クリーンアーキテクチャでトランザクション管理
意外に情報が少なくて、何がベストかはよく分からないですが、メモがてら残しておきます。 ソースコードは以下で公開してるので、詳細を見たい場合は参照ください。 https://github.com/rinoguchi/microblog 利用している技術 言語: golang web framework: chi ORM: bun トランザクションの開始/終了 通常の Web APIでは1リクエスト1トランザクションが一番シンプルで分かりやすいので、リクエストとトランザクションのライフサイクルは同じにしたいです。 一つのAPIコールの途中で何かエラーが発生したら、全部ロールバックする形です。 この場合、controllers 層でトランザクションを開始/終了するのが良さそうです。 controllers 層の各ハンドラーにて、以下のような感じで実装するのが一番シンプルですが、同じ実装が何度も出 Continue Reading