All Projects → irof → jig-erd

irof / jig-erd

Licence: Apache-2.0 license
ざっくりなER図を出力する設計補助道具

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to jig-erd

drawerd
DrawERD for rails.
Stars: ✭ 19 (+26.67%)
Mutual labels:  erdiagram
typeorm-uml
Generate Entity Relationship diagrams for Typeorm powered projects.
Stars: ✭ 207 (+1280%)
Mutual labels:  erdiagram
X6
🚀 JavaScript diagramming library that uses SVG and HTML for rendering.
Stars: ✭ 2,686 (+17806.67%)
Mutual labels:  erdiagram
erdiagram
Entity-Relationship diagram code generator library
Stars: ✭ 28 (+86.67%)
Mutual labels:  erdiagram

JIG-ERD

MavenCentral GitHub Actions AppVeyor

ざっくりなER図を出力します。 現在はH2DatabaseとPostgreSQLに対応しています。

関連だけに着目したデータベース設計の補助道具です。

PKや列のデータ型、その他制約と言った一般的なER図で必須な項目は扱っていません。対応予定もないです。詳細な情報は他のツールの使用をお勧めします。

サンプル

以下は system-sekkei/library で出力したサンプルです。3種類のダイアグラムが出力されます。

  • jig-erd-overview.svg: スキーマのみ
  • jig-erd-summary.svg: スキーマ、テーブルのみ
  • jig-erd-detail.svg: スキーマ、テーブル、外部キーカラム

ファイル名、形式は設定で変更できます。

スキーマのみ

overview

スキーマ、テーブルのみ

テーブル名を _ ではじめると色が変わります。

summary

スキーマ、テーブル、外部キーカラム

detail

前提条件

  • Java11以降がインストールされていること
  • Graphvizがインストールされていること
    • 出力形式を DOT にした場合は不要。この場合は自分で変換を行ってください。

対象バージョン

対象 推奨
Java 11以降
Graphviz 2.44.1
H2 Database Engine 2.1.212
PostgreSQL 11.1

H2 Database Engine 1.4.200 以前を対象にする場合、jig-erd 0.0.11 以前を使用してください。

動作確認環境

OS Java Graphviz
macOS Catalina 10.15.5 AdoptOpenJDK 11.0.7 2.44.1
Windows 10 jdk-14.0.2_windows-x64_bin.exe 2.44.1
GitHub Actions ubuntu-latest 11 2.40.1
AppVeyor visual studio 2015 11 2.38.0

Getting Started

コマンドラインから使う

既にテーブル作成済みのDBに対して実行したい場合。

java -cp jig-erd-x.x.x.jar:postgresql-42.2.14.jar \
    jig.erd.JigErd {url} {user} {password}

url, user, passは適宜置き換えてください。urlは jdbc:postgresql://localhost:5432/test とかです。

Spring Boot Testで使う

SpringBootが schema.sql などを使用してセットアップしたDBのERDを出力します。 依存に追加して、テスト経由で実行します。

Gradle

repositories {
    mavenCentral()
}

dependencies {
    testImplementation 'com.github.irof:jig-erd:latest.release'
}

Maven

<dependencies>
    <dependency>
        <groupId>com.github.irof</groupId>
        <artifactId>jig-erd</artifactId>
        <version>[0.0.12,)</version>
        <scope>test</scope>
    </dependency>
</dependencies>
@SpringBootTest
public class Erd {

    @Test
    void run(@Autowired DataSource dataSource) {
        JigErd.run(dataSource);
    }
}

他の出力例は wiki を参照してください。

設定

jig.properties ファイルをクラスパスか実行時のカレントディレクトリに配置してください。

# サンプル
jig.erd.output.directory=./build
jig.erd.output.prefix=library-er
jig.erd.output.format=png
jig.erd.output.rankdir=LR
キー 意味 許容する値 設定しない場合のデフォルト
jig.erd.output.directory 出力先ディレクトリ 任意のディレクトリ カレントディレクトリ
jig.erd.output.prefix 出力ファイル名のプレフィックス 英数、記号(-_. jig-erd
jig.erd.output.format 出力ファイルの形式 SVG, PNG, DOT(テキスト) SVG
jig.erd.output.rankdir ダイアグラムの方向 (参考) LR, RL, TB, BT RL (0.0.8 以降)
jig.erd.filter.schema.pattern 出力対象となるスキーマのフィルタ条件 Pattern#compile(String) でコンパイルできる正規表現 フィルタしない(全て出力)

ファイル名は {jig.erd.output.prefix}-detail.{拡張子} などになります。

正規表現にマルチバイト文字を使用する場合の jig.propertiesUTF-8 で記述してください。

リリース

  • gradle.properties などで設定
    • 署名: signing.keyId signing.password signing.secretKeyRingFile
    • リポジトリの認証: ossrhUsername, ossrhPassword
VERSION=X.X.X ./gradlew publish

https://s01.oss.sonatype.org/#stagingRepositories からCloseとRelease

LICENSE

Apache License 2.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].