こんにちは、メルペイのバックエンドエンジニアの @kazegusuri です。 メルペイではクラウド環境としてGoogle Cloud Platform(GCP)を採用しています。 そしてデータストレージとしてほとんどのマイクロサービスでGoogle Cloud Spannerを採用しています。 SpannerではMySQLのようなRDBMSとは全く異なるスキーマ設計や実装が必要となるため、日々試行錯誤しながらサービスの開発を行っています。 本記事ではサービス開発中に開発したSpanner用のコード生成ツールのYoについて紹介したいと思います。 xoについて Yoについて説明する前にYoの元になった xo について紹介します。 xoはMySQLだけでなくPostgreSQLやOracleなどの複数のデータベースに対応したコード生成ツールです。 今までGoでデータベースを扱うために data