-
Notifications
You must be signed in to change notification settings - Fork 3
Home
irof edited this page Aug 7, 2020
·
6 revisions
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
|
LR |
SpringBoot + H2Database での実行例です。
- テストコード
- アプリケーションリスナー
- Flyway
-
@SpringBootTest
でDataSource
を受け取るテストを作成する - テストを実行する
import jig.erd.JigErd;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import javax.sql.DataSource;
@SpringBootTest
public class ErdTest {
@Test
void run(@Autowired DataSource dataSource) {
JigErd.run(dataSource);
}
}
- JigErdを継承したApplicationListenerを作成する
- アプリケーションを起動する
package sample;
import jig.erd.JigErd;
import org.springframework.boot.context.event.ApplicationStartedEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
import javax.sql.DataSource;
@Component
public class JigErdListener extends JigErd implements ApplicationListener<ApplicationStartedEvent> {
public JigErdListener(DataSource dataSource) {
super(dataSource);
}
@Override
public void onApplicationEvent(ApplicationStartedEvent event) {
run();
}
}
- Java-based migrationを作成する
- マイグレーションを実行する
package db.migration;
import jig.erd.JigErd;
import org.flywaydb.core.api.migration.BaseJavaMigration;
import org.flywaydb.core.api.migration.Context;
import org.springframework.jdbc.datasource.SingleConnectionDataSource;
import javax.sql.DataSource;
public class R__JigErd extends BaseJavaMigration {
@Override
public void migrate(Context context) {
DataSource dataSource = new SingleConnectionDataSource(context.getConnection(), true);
new JigErd(dataSource).run();
}
}