トレタ開発者ブログトレタ開発者ブログ飲食店向け予約/顧客台帳サービス「トレタ」、モバイルオーダー「トレタO/X」などを運営するトレタの開発メンバーによるブログです。Actionsを組み合わせた設定を行いました。DBスキーマの変更は開発プロセスにおいて頻繁に発生しますが、手動でER図やドキュメントを更新することは煩雑で効率が悪い作業です。Actionsとtblsを使用することで、ER図の自動生成と更新を容易に実現できました。Actionsの設定ファイルを紹介します。今回紹介するツールと環境はこちらです。ついてgithub.comtblsは、データベースのスキーマ情報をドキュメント化するためのコマンドラインツールです。データベースからスキーマ情報を取得し、MarkdownやPlantUMLなどの形式で出力することができます。このツールを使用することで、データベースのスキーマ情報をわかりやすく、自動化された形でドキュメント化することができます。複数のデータベース管理システムに対応しています。Actionsの内容です。})docs/tbls.ymltblsのER図の自動生成ではデフォルトでコメントを出力しない設定となっています。コメントも出力されるように設定ファイルに記載しています。Actionsがトリガーされます。内容が変更されたときにのみ実行されます。マージ先がstaging、productionブランチの場合、発火しないようにしています。リポジトリのコンテンツに対して書き込み権限を持ちます。コミットおよびプッシュすることができます。プルリクエストに対して書き込み権限を持ちます。これにより、プルリクエストにコメントを追加することができます。writeデータベースを事前に起動する今回は、以下のように宣言し、PostgreSQLを起動しておきます。5環境変数を設定するプロセスに必要な環境変数が設定されています。データベース接続用のDSNやドキュメントのパスを指定しています。}}マイグレーションを実行するGo言語をセットアップします。マイグレーションツールとして、psqldefを使用しています。psqldefはGo言語で作成されているため、Go言語をセットアップしておきます。^1.20マイグレーションを実行します。その後にマイグレーションを実行します。./db/schemaER図関連のファイルを削除スキーマの変更でテーブルの削除が含まれる場合は、ファイルを削除していないとそのまま残り続けることとなります。そのため、ER図を自動生成する前にファイルを削除しておきます。Actionsで簡単に使用できるためのActionが用意されています。使用できるようになります。k1low.hatenablog.comtblsの実行し、ER図を生成するtblsを実行する際、ER図にコメントを含めるためにtblsの設定ファイルを指定します。./db差分ファイルをコミットする差分ファイルがある場合のみコミットされるように条件を設定しています。EndBug/add-and-commitを使用しました。actions"プルリクエストにER図を更新した旨をコメントするこちらも同様に、差分ファイルがある場合のみプルリクエストにコメントするように条件を設定しています。Actionsの設定ファイルを紹介しました。Railsのプロジェクトでも応用が効きます。情報共有の容易化に貢献します。ありがとうございます。2022の22日目の記事です。SQLにマイグレーションする方法を紹介しました。Buildは便利ですが、結果を確認しに行かないといけないのが少々手間です。Buildの結果をSlackに通知する方法を紹介したいと思います。専用のSlackがあるわけではないので、以下より新規作成してください。api.slack.comアプリ名とアイコンは各自で設定してください。結果通知」としています。PlatformのSVGとPNGのアイコンのものを設定しています。Webhooksにアクセスする。Workspace]ボタンをクリックする。通知するチャンネルを選択する。[許可する]ボタンをクリックする。側の作業cloud.google.com上記の資料を元に作業を行います。有効にする]ボタンから有効にできます。