go-grpc-sample
goでgRPCサーバを立てるときのサンプルです。
vsCodeのremote-containerで構築することを前提としています。
develop
remote-containerで構築しています。
詳しい説明は省きます。
remote-containerで立ち上げると、同時にpostgreSQLも立ち上がります。
また、migration用ツールのgolang-migrateもインストール済みの環境です。
gRPC
9000portでgRPCサーバが立ちます。
evansなどのgRPCクライアントを用いて接続確認してください。
protoファイルからGoのコードはgo generate
で生成できます。
evans --proto="./api/sample.proto" --host="localhost" --port="9000" repl
migrate
DBのスキーマ変更にはgolang-migrateを使用している。
# DBのver up
migrate -database "postgres://${DB_USER}:${DB_PASSWORD}@${DB_HOST}/${DB_NAME}?sslmode=disable" -path ./migrations up
# DBのver down
migrate -database "postgres://${DB_USER}:${DB_PASSWORD}@${DB_HOST}/${DB_NAME}?sslmode=disable" -path ./migrations down
sqlboiler
DBに接続してSchemaからstructを生成します。
go generate
を実行してください。db/generated
以下に生成されます。