Intellijでデータベースのテーブル定義をHTMLで出力する


概要

DBのテーブルを作成した時に、PRにテーブルの定義を載せたい場面があり、Intellijでいい感じに出力できたので、方法を残しておきます。
GitHubのプルリクだったらこんな感じで載せることができます。

前提

  • IntellijからDBが接続できる状態

検証環境

  • PhpStorm 2019.3.1
  • GoLand 2019.3.1

方法

IntellijのDBコンソールでSHOW COLUMNSを実行

SHOW COLUMNS FROM users;

そうすると右下に実行結果がテーブルで表示されます。

赤枠で強調している、テーブルの右上に表示されている下矢印がDDLのダウンロードボタンです。左のドロップダウンでHTML Tableを選択します。

下矢印ボタンを押下してDDLをダウンロードします。今回はTo Clipboardを選択します。

そうするとクリップボードに以下のようなHTMLがコピーされます。

<!DOCTYPE html>
<html>
<head>
  <title></title>
</head>
<body>
<table border="1" style="border-collapse:collapse">
<tr><th>Field</th><th>Type</th><th>Null</th><th>Key</th><th>Default</th><th>Extra</th></tr>
<tr><td>id</td><td>int(10) unsigned</td><td>NO</td><td>PRI</td><td>NULL</td><td>auto_increment</td></tr>
<tr><td>firebase_uid</td><td>varchar(255)</td><td>NO</td><td>UNI</td><td>NULL</td><td></td></tr>
<tr><td>account_name</td><td>varchar(255)</td><td>NO</td><td>UNI</td><td>NULL</td><td></td></tr>
<tr><td>display_name</td><td>varchar(255)</td><td>NO</td><td></td><td>NULL</td><td></td></tr>
<tr><td>email</td><td>varchar(255)</td><td>YES</td><td></td><td>NULL</td><td></td></tr>
<tr><td>icon</td><td>varchar(255)</td><td>YES</td><td></td><td>NULL</td><td></td></tr>
<tr><td>department_id</td><td>int(10) unsigned</td><td>YES</td><td>MUL</td><td>NULL</td><td></td></tr>
<tr><td>created_at</td><td>datetime</td><td>NO</td><td></td><td>CURRENT_TIMESTAMP</td><td>DEFAULT_GENERATED</td></tr>
<tr><td>updated_at</td><td>datetime</td><td>YES</td><td></td><td>CURRENT_TIMESTAMP</td><td>DEFAULT_GENERATED on update CURRENT_TIMESTAMP</td></tr>
<tr><td>deleted_at</td><td>datetime</td><td>YES</td><td></td><td>NULL</td><td></td></tr></table>
</body>
</html>

これをGitHubやGitLab、BitBucketのPRに貼り付けることで、最初の画像のようになります。