Skip to content

運用・調査 ​

マダミス.jp の開発・調査で、たまにしか要らない手順と参照先をまとめる。 毎回の作業で守る決まりは .claude/rules/mdms-jp*.md にあり、ここには置かない。

PostgreSQL への接続 ​

bash
task mdms_jp:db-info
psql postgresql://user:password@localhost:${MDMS_JP_DB_PORT:-6003}/app
psql postgresql://user:password@localhost:${MDMS_JP_DB_PORT:-6003}/app -c 'SELECT 1;'

調査・分析データの参照先 ​

INFO

集計・分析・調査のための読み取りは、本番 AlloyDB ではなく BigQuery(uzu-prd)を優先する。本番の負荷を避けるため。

  • PostgreSQL ミラー: uzu-prd.mdmsjp_public(Reservation/Payment/Scenario 等)
  • イベント系: mdmsjp_events
  • KPI: mdmsjp_kpi
  • BigQuery 環境: prd のみ
  • AlloyDB 利用条件: 書き込み / レプリカラグ不許容時のみ
  • 接続情報: task mdms_jp:db-info
bash
bq --project_id=uzu-prd --location=asia-northeast1 query --use_legacy_sql=false

ローカル PostgreSQL の collation 不整合の修復 ​

  • 発生箇所: ローカルの mdms_jp postgres コンテナ(postgres-<port>)
  • 症状: prisma migrate dev が template database "template1" has a collation version mismatch で失敗する
  • 例: 2.41 vs 2.36, shadow DB 作成時
  • 原因: コンテナイメージ更新で OS の libc collation が変わった

修復:

bash
docker exec -e PGPASSWORD=password postgres-<port> psql -U user -d postgres \
  -c 'ALTER DATABASE template1 REFRESH COLLATION VERSION;' \
  -c 'ALTER DATABASE postgres REFRESH COLLATION VERSION;'

既存 DB(app 等)があればそれらも同様に REFRESH する。