2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Liam ERD と tbls の CLI で VS Code の Copilot Chat からデータベースのスキーマをレビュー

Last updated at Posted at 2025-12-09

AI でアプリを開発しても、最初にデータベースのスキーマは必ずレビューしたいです。
VS Code の Copilot Chat から Liam ERD と tbls でレビューする方法を紹介します。

image.png

Liam ERD

  • Liam ERD はデータベースのスキーマから、 ER 図 を生成・閲覧できるツール
  • フィルタやハイライトのインタラクティブ機能で、複雑なデータ構造でも直感的に理解
  • CLI で ローカルに ER 図のファイルを出力し、閲覧はローカル HTTP サーバーを使用

tbls

  • tbls はデータベースを解析し、ドキュメント化を推進するためのツール
  • 多様なデータベース(PostgreSQL、MySQL、SQLite、BigQuery など)に対応
  • CLI で ローカルにスキーマや ER 図のファイルを出力し、リントや差分機能など充実

Copilot Chat Step

Chat に開発したいアプリと tbls と Liam で ERD を表示するようにプロンプトを作成します。
送信するとプロジェクトの作成からスキーマをレビューまでが VS Code で完結できます。

今回は Rails フレームワークで簡単な ToDo アプリを開発します。
この 8 ステップのコマンドを Copilot Chat が実行し、VS Code で ERD が表示されます。

ステップ コマンド 役割
1 rails new プロジェクト作成
2 rails generate authentication 認証モデル生成
3 rails generate scaffold todo ToDo モデル生成
4 rails db:migrate データベース作成
5 tbls out tbls の設定作成
6 tbls doc tbls スキーマ作成
7 liam erd build liam スキーマ作成
8 serve etc/liam serve で ERD を表示

以降は、Copilot Chat が実行するそれぞれのステップのコマンドを説明します。

rails new

Rails でプロジェクトを作成します。今回は ToDo アプリを作成します。

rails new my-todo
cd my-todo

rails generate authentication

Rails 8 の認証ジェネレータでユーザーモデルを追加します。

rails generate authentication

rails generate scaffold todo

ToDo に必要な MVC(Model-View-Controller)を追加します。

rails generate scaffold todo user:references title:string description:text done:boolean

rails db:migrate

データベースを作成します。今回は Rails のデフォルトの SQLite を使用します。

rails db:migrate

Rails 8 から storage/development.sqlite3 にファイルが出力されます。

tbls out

tbls の設定ファイルを作成します。

mkdir -p etc/tbls
tbls out sqlite://storage/development.sqlite3 --format config --out etc/tbls/.tbls.yml

作成される .tbls.yml には、以下の項目などが含まれます。

  • 接続情報
  • 出力形式
  • ドキュメントのディレクトリ

tbls doc

tbls のスキーマファイルを作成します。

tbls doc --config etc/tbls/.tbls.yml --force

tbls.yml の table、column にある column comment required. の箇所をキーワードから日本語に変換することも Copilot Chat ができます。

liam-hq/cli erd build

tbls で作成したスキーマファイルから liam のスキーマファイルを作成します。

npx @liam-hq/cli erd build --format tbls --input dbdoc/schema.json --output-dir etc/liam

serve etc/liam

Liam ERD をブラウザで表示します。

npx serve etc/liam

Copilot Chat の Open untrusted web page? で Allow をクリックします。

image.png

VS Code の Simple Browser で Liam ERD が表示されます。

image.png

データベースのスキーマレビュー

データベースのスキーマはツールバーの show で表示を切り替えてレビューします。

  • show Table Name
    • 命名規則や正規化、テーブル粒度をレビュー
  • show Key Only
    • 命名規則や外部キーの整合性、PK の設定をレビュー
  • show All Fields
    • 命名規則やカラムの型をレビュー

必要なテーブルだけを表示したり、マウスオーバーで ER 図がハイライトされるため、レビューが効率的に進みます。あとテーブル名やカラム名が AI で翻訳されているのも便利です。

まとめ

VS Code の Copilot Chat を使って、データベーススキーマのレビュー環境を構築できます。
さまざまな CLI を知っていると、コマンドを組み合わせて活用できます。
AI がコマンドの実行を提案してきますが、コマンドの役割を理解しておくことが大切です。

ポート株式会社 サービス開発部 Advent Calendar 2025 の 10日目と並走しています。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?