Post

GCP

2021-03-17 21:39:16

golang-migrateを使ってspannerのDBマイグレーションをする

概要spannerのDBマイグレーションで、golang-migrateを使ったのでメモ。 使い方dockerで使う想定。dockerではなくバイナリで実行していたが、ホストマシンのopensslのバージョンに依存して動作しない可能性あるようなので、コンテナ実行が無難だと思う。 MIGRATE_VERSION='v4.14.1' docker run -v /migrations:/migrations -v ~/.config/gcloud/:/root/.config/gcloud --network host migrate/migrate:${MIGRATE_VERSION} -pa...

アプリケーション

GCP Golang Spanner

2021-02-08 16:51:08

goのspannerクライアントのReadOnlyTransactionでハマった

概要pkg.go.dev - cloud.google.com/go/spannerでReadOnlyTransactionを使ったときにハマったところについてメモ。 何が起きたか?数万件のデータを複数回のリクエストに分けて処理するようなバッチ処理のコードを書いていた。ReadOnlyTransactionを使った処理を以下のように書いていた。  for { // 〜略〜 // cは*spanner.Client iter := c.ReadOnlyTransaction().Query(ctx, stmt) defer iter.Stop() /...

アプリケーション

GCP Spanner