16 ポイント 投稿者 GN⁺ 2024-03-24 | 1件のコメント | WhatsAppで共有
  • GraphViz 形式で SQLite データベースのスキーマを生成する SQL クエリ
  • ファイルとして保存するか、dot コマンドにパイプして PNG/SVG/PDF などへ変換可能
    sqlite3 path/to/database.db -init sqlite-schema-diagram.sql "" > schema.dot dot -Tsvg schema.dot > schema.svg
  • SQLite3 3.37.0 以上が必要(table_list を取得する機能を含む)

1件のコメント

 
GN⁺ 2024-03-24
Hacker Newsの意見
  • 作者は、自分の作品があまりにニッチで些細なので Hacker News ではあまり注目を集めないだろうと思っていたが、予想に反して関心を集めた。

    作者は、自分の作品が Hacker News で注目されないだろうと考えていたが、実際には関心を集めたことに驚いている。

  • SQLite の Fossil リポジトリを対象に試したところ、結果のダイアグラムには関係を示す矢印がなかった。Fossil のスキーマは基本的にテーブルの主キーを指す REFERENCES 句を使っている。ダイアグラム生成器は明示的な列名を要求する。

    SQLite の Fossil リポジトリで試した結果、ダイアグラムに関係を示す矢印がなかった。これは Fossil のスキーマが主キーを参照する方式によるもので、ダイアグラム生成器は列名の明示を必要としていることを示唆する。

  • ドットコム時代に勤めていたある会社では、大型プリンターを使ってデータベースのスキーマダイアグラムのポスターを印刷し、壁に掛けていたが、これは新しい従業員にとって非常に有用だった。

    以前ある会社では、大型プリンターでデータベースのスキーマダイアグラムを印刷し、新入社員の助けになるよう壁に掛けていた。

  • 個人的に使うために似たようなツールを作ったが、.dot ファイルを入力として受け取り、シンプルな UI を提供し、最終ダイアグラムに含めるテーブルや関係を選択でき、テーブルを強調表示し、関連テーブルを追加し、2つのテーブル間の最短経路上にあるテーブルを追加し、最終ダイアグラムに色を付け、必要なグラフソースを生成してクリップボードにコピーし、グラフを見られる 2 つの GraphViz ページのいずれかを読み込む。

    ユーザーが自作したツールは .dot ファイルを処理し、ユーザーインターフェースを通じてダイアグラムのテーブルと関係を選択でき、色付けや主要フィールドのみ表示するオプションを提供し、グラフソースをクリップボードにコピーして GraphViz ページで見られるようにする。

  • WWW SQL Designer はオンライン SQL ダイアグラムツールである。

    WWW SQL Designer は、ユーザーがオンラインで SQL ダイアグラムを描けるツールである。

  • 開発者は、sqlite-schema-diagram.sql で SQL を「乱用する」ことを楽しんでおり、この表現は開発者が自分の作業を説明するために使っているものだ。

    開発者は自分の作業の中で SQL を「乱用する」ことを面白がっており、これは開発者の視点から使われている表現である。

  • SQLite を使うゲームサーバーでこのツールを見つけ、CI パイプラインに追加しようと考えている。メインデータベースには多くの関係があり、ほかの人が作業するのに役立つはずだ。

    SQLite を使うゲームサーバーでこのツールを CI パイプラインに統合しようとしている。これはメインデータベースに関連する多くのデータがあり、ほかの開発者にとって有用だと期待される。

  • ダイアグラム作成ツールは Schemaspy.org より依存関係が少ないように見えるが、Schemaspy.org も依然として大規模データベースには優れている。

    ダイアグラム作成ツールは Schemaspy.org より依存関係が少ないように見えるものの、Schemaspy.org も大きなデータベースに非常に適している。

  • Paracelsus は SQLAlchemy で定義されたデータベースについて、Markdown または dot 形式のダイアグラムを生成する。

    Paracelsus は SQLAlchemy で定義されたデータベースのダイアグラムを Markdown または dot 形式で生成するツールである。

  • 訪問して 5 分で GitLab CI パイプラインにこのツールを統合した。

    ユーザーはこのツールを見つけ、すぐに GitLab CI パイプラインへ統合した。