ERDモデリングツール、ERFluteのお知らせスレッド

581 views
Skip to first unread message

kubo

unread,
Oct 20, 2016, 10:02:24 PM10/20/16
to DBFluteユーザの集い
jfluteです

// マージできるERDツール、ERFlute作りました
http://d.hatena.ne.jp/jflute/20161020/newerflute

もし、ERMaster-bを使われている方は、
ぜひ移行してみてください(^^。
気軽にフィードバックをいただければと。

mokkouyou

unread,
Oct 24, 2016, 3:34:33 AM10/24/16
to DBFluteユーザの集い
mokkouyouです。

素晴らしい対応ありがとうございます。感涙レベルです。
どうマージするべきなのかいつも悩んでいるのでちょうどよかったです。

せっかくなのでフィードバックを少し。

・eclipse4.4.1では設定に出てこない&.logにもエラーがあるわけではない。
・4.4.2で新たに環境構築・・・インストール成功
#4.4.2以降とあったものの同じlunaで期待していたので残念でした。

⇒環境を更新しました。

使って確認しながら気づいた点
・ER図を開いた際(開きなおした際)に、カラム定義が表示されない。(真っ白)
⇒どれでもいいのでテーブルを選択すると、全テーブル分表示される。※表示方法を変更したりしてもOK
⇒⇒移行ERではなく、新規ERでも同様(1テーブル1カラムのシンプルなもので確認)

・テーブルコメントの出方が違う ※Logical:説明で出した場合、説明がない場合、Logicalも出ない。みたいな感じかな
・Uniqueの定義の仕方変更 ※ERMaster-bの場合、定義の最後でUniqueを指定、ERFluteの場合、カラム定義と同時に定義
・(どうしてそんなのが入っていたのかは別として)コメントにCRLF以外で改行があった場合、出力した際に、次行がコメントアウトされない。
■ERFlute
-- 1行目
2行目
■ERMaster-b
-- 1行目
-- 2行目

※環境
windows10 32bit
eclipse
Version: Luna Service Release 2 (4.4.2)
Build id: 20150219-0600
java8
RDB:mysql

になります。

#ER図を開いた際の挙動以外は、ただの差ですけども。


2016年10月21日金曜日 11時02分24秒 UTC+9 jflute:

kubo

unread,
Oct 24, 2016, 4:48:09 AM10/24/16
to DBFluteユーザの集い
mokkouyouさん

おおぉ、めっちゃ嬉しいコメントありがとうです。
ERFlute作って誰が喜ぶのかもわからない状態だったので、
「試してます!」って投稿は本当に嬉しいです。
(それ自体が、ERFluteの存在意義になってきますし)

> ・eclipse4.4.1では設定に出てこない&.logにもエラーがあるわけではない。

ぬわんとぅ。まあしょうがないですね...
4.4.2 以降じゃないと動かないということで。
(これってEclipseプラグイン全体の挙動かな!?
作ったときよりも低いバージョンだと必ず動かないとか)

> ・ER図を開いた際(開きなおした際)に、カラム定義が表示されない。(真っ白)
> ⇒どれでもいいのでテーブルを選択すると、全テーブル分表示される。※表示方法を変更したりしてもOK
> ⇒⇒移行ERではなく、新規ERでも同様(1テーブル1カラムのシンプルなもので確認)

ありがとうございます。
これは、ERMaster-bの頃からの挙動ですね。
どうすれば直すのかまだわかってない状態で、
プルリク募集中です(^^。

> ・テーブルコメントの出方が違う ※Logical:説明で出した場合、説明がない場合、Logicalも出ない。みたいな感じかな

およ。いまこちらで同じ状況でやったのですが、
"説明" がなくても "論理名" だけでDBコメントとして出力されますね...

利用されてるDBMSは何でしょうか?
DDLを出力してるプログラムはDBMSによって変わるので。
ぼくが試しているのは MySQL です。

> ・Uniqueの定義の仕方変更 ※ERMaster-bの場合、
> 定義の最後でUniqueを指定、ERFluteの場合、カラム定義と同時に定義

これちょっとよくわからなかったのですが、
Uniqueって単一カラムのユニークキーでしょうか?
(複合と単一で設定の仕方が全然違うので)

この辺は ERMaster-b と特に変えたところはないはずなので...

> ・(どうしてそんなのが入っていたのかは別として)コメント
> にCRLF以外で改行があった場合、出力した際に、次行がコメントアウトされない。

あとで試してみます。
XMLで直接 
 とかいじってみてみますね。
どれがLFでどれがCRLFか忘れちゃった...

mokkouyou

unread,
Oct 24, 2016, 8:28:07 PM10/24/16
to DBFluteユーザの集い
mokkouyouです。

なんだか、大分認識相違があるなぁという不安から色々確認してみました。

ひょっとすると、私の元環境は、入れたつもりのermaster-bが当たっていなかったのかも。
すくなくとも、Firiendsページでの紹介にあるようなショートカットは動きませんでした。(ctrl-oとか)

※インストール詳細とか見てもちゃんと当たっているかはよくわかりませんでしたので確実なことは言えませんが・・・(パッケージ名同じっぽいですし)
※なんだか見た目も、日本語化もだいぶ変えたんだなぁと思っていました。


というわけで、申し訳ありませんが差については忘れてください><
むしろ、ERMasterからの移行も出来たよ報告かもしれませんね

※とりあえず、開いた際に真っ白の件は元環境(ERMaster?)では平気でした。ヒントになりますかね・・・


2016年10月24日月曜日 17時48分09秒 UTC+9 jflute:

mokkouyou

unread,
Oct 24, 2016, 8:45:01 PM10/24/16
to DBFluteユーザの集い
mokkouyouです。

FK制約名が自動で出るはずだったんですねERMaster-b・・・
というわけで、ERMaster-b当たっていなかったで確定っぽいです。

※名称入れていなかったことによる問題ってそれなりにあって、ちゃんとプラグイン入っていれば問題なかったと思うとガチへこみです。

kubo

unread,
Oct 24, 2016, 8:53:49 PM10/24/16
to DBFluteユーザの集い
jfluteです

> ※なんだか見た目も、日本語化もだいぶ変えたんだなぁと思っていました。

パレットに「カテゴリ」があれば本家ERMasterかなと。
ERMaster-bは「グループ」で、ERFluteは「Table Group」のはずです。

> むしろ、ERMasterからの移行も出来たよ報告かもしれませんね

それはそれで嬉しいー(^^

mokkouyou

unread,
Oct 25, 2016, 3:15:46 AM10/25/16
to DBFluteユーザの集い
mokkouyouです。

mysqlで、FK名を自動設定してくれていますが、
■担当者マスタ
■Aテーブル
・受付担当者
・営業担当者
・納品担当者
※各担当者は担当者マスタへのFK

とした場合、
FK_A_担当者マスタ
FK_A_担当者マスタ_2
FK_A_担当者マスタ_2

と、連番が常に2となってしまっているようです。
名前を付ければいいだけなのですが、一応確認いただけないでしょうか?

kubo

unread,
Oct 26, 2016, 2:21:31 PM10/26/16
to DBFluteユーザの集い
jfluteです

> FK_A_担当者マスタ
> FK_A_担当者マスタ_2
> FK_A_担当者マスタ_2

おお、なるほど、確かにそうなってしまいますね。
本当は、FK作成ダイアログ自体にFK名を編集するテキストボックスを設けて、
その場で _2 をちゃんとしたものに直してもらおうと考えています。
(名前が既存とかぶってたらFK作成OKが押せないように)

早めにそっちをやった方がいいかもって感じですね。
ちょっと現状は、リレーションシップ線をダブルクリックして、
FK制約名を修正してくださいませ。

mokkouyou

unread,
Oct 27, 2016, 4:13:05 AM10/27/16
to DBFluteユーザの集い
mokkouyouです

最終的にエラーでreplace schemaで潰せれば問題ないと思います^^
あと、同じレベル?のことだと、テーブルやカラムコメントを制限長で切って出力なんかもあると親切かな?と思いつつも、
バージョンによって制限値違いますしね(ーー;
⇒ERMasterだと、結構前のバージョンの長さで切って出力します。(便利のような、そうでもないような)

kubo

unread,
Oct 27, 2016, 11:20:14 AM10/27/16
to DBFluteユーザの集い
jfluteです

> ⇒ERMasterだと、結構前のバージョンの長さで切って出力します。
>(便利のような、そうでもないような)

これ ERMaster-b でぼくが直したんですよ(^^。
まあ b の方は新しいバージョン対応でいいだろうということで。
なので、ERFluteも MySQL に関しては、
コメントは最近のMySQLに合わせて切ってるはずです。

まあ、出力時に切るんじゃなくて、
編集時にValidationErrorにする方がいいわけですが...
> --
> このメールは Google グループのグループ「DBFluteユーザの集い」に登録しているユーザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには dbflute+u...@googlegroups.com
> にメールを送信してください。
> このグループに投稿するには dbf...@googlegroups.com にメールを送信してください。
> https://groups.google.com/group/dbflute からこのグループにアクセスしてください。
> その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

mokkouyou

unread,
Oct 27, 2016, 8:20:51 PM10/27/16
to DBFluteユーザの集い
mokkouyouです

なんと!そうだったんですね

※今回の移行でコメント長のおかげでバージョン古いメンバーがいたことが判明しました^^;
※最初理由がわからず焦ったのですが。

残そうとしたものが切られて入る位なら、チェックエラーのほうが望ましいですが、
なかなかバージョン回りは難しいですね。
変に厳密にやったりするとメンテナンス大変でしょうし・・・いつものごとく素晴らしいバランス感覚でお願いします^^

それ以外は問題や気になるところなしです。次のブランチマージが楽しみです!

2016年10月28日金曜日 0時20分14秒 UTC+9 jflute:

kubo

unread,
Oct 28, 2016, 5:17:08 AM10/28/16
to DBFluteユーザの集い
jfluteです

> 本当は、FK作成ダイアログ自体にFK名を編集するテキストボックスを設けて、
> その場で _2 をちゃんとしたものに直してもらおうと考えています。

取り急ぎ、これやりました。
http://dbflute.seasar.org/download/misc/helper/erflute/org.dbflute.erflute_0.4.0.2.jar

0.4.0.x はお試しバージョンです。
よさそうであれば 0.4.1 にしていきます。

kubo

unread,
Oct 28, 2016, 9:03:16 AM10/28/16
to DBFluteユーザの集い
jfluteです

お試しバージョンのお知らせです。

0.4.0.1 Oracleのvarchar()の char semantics に対応
0.4.0.2 FK作成ダイアログでのFK名の設定
0.4.0.3
o viewのサポート: 依存関係考慮の(若干)自動ソート
 => 右クリック - Diagram Settings - Option - Use view object の後にerm開き直す
o sequenceいったん削除

http://dbflute.seasar.org/download/misc/helper/erflute/org.dbflute.erflute_0.4.0.3.jar

kubo

unread,
Oct 30, 2016, 10:40:55 AM10/30/16
to DBFluteユーザの集い
jfluteです

0.4.0.4
o ColumnGroupの名前のバリデーションのバグ修正
o WindowsでもDDLの出力ファイルのデフォルトをUTF-8に
o XML で、setting になっているものを settings に変更

http://dbflute.seasar.org/download/misc/helper/erflute/org.dbflute.erflute_0.4.0.4.jar

溝口八郎右衛門

unread,
Nov 3, 2016, 11:38:55 PM11/3/16
to DBFluteユーザの集い
溝口です。

ERFluteをmacで使ってみた感想です。

既知のバグとかもあるのかもしてないですが気がついたことを書いていきます。
リレーションを消すとデータがおかしくなるっぽい
再現手順:
1)ユーザーテーブルと、ユーザーステータステーブルを作成します
2)それぞれのテーブルに主キーカラムを設定します。
3)リレーションをユーザーステータステーブルからユーザーテーブルに貼ります。
4)リレーションの方向が間違っていることに気がつき、リレーションを削除します。
5)マウスのポインターが作業中になります。(作業中から戻りません。)

6)何分待ってもマウスのポインターが通常状態に戻らないためermファイルをeclipseのタブの
×アイコンをクリックして閉じます。
閉じることができます。

7)再度、ermファイルを開きます。リレーションの線は消えています。
8)リレーションの線は消えているのですが、リレーションを貼った際にできた
自動作成のカラムは残っています。
9)不要なリレーションを貼った際にできた自動作成のカラムを消します。
10)外部キーの設定が残っているためカラムを消すことができません。

以上のようなことに気がついたのでフィードバックさせていただきました。

要望なのですが、
exportでddlを作成する際に編集を保存していない場合保存できるようにして欲しい。
exportでddlを作成後にermファイルが編集中になりますがこれをならないようにして欲しい。

viewの機能については後ほど試してみます。

以上、よろしくお願いします。

2016年10月21日金曜日 11時02分24秒 UTC+9 jflute:

kubo

unread,
Nov 5, 2016, 9:15:23 PM11/5/16
to DBFluteユーザの集い
jfluteです

溝口さん、こんにちは

フィードバックありがとうございます!

> リレーションを消すとデータがおかしくなるっぽい

自動カラム作成したリレーションシップの削除で発生するっぽいですね。
こちらで試した限りでは、最新バージョンだとファイルを開き直せば消えます。
ちょっとしばらくはバッドノウハウでしのいでもらう感じで。

たぶん、Mapのどこかにゴミ参照が残っちゃってるんじゃないかと。
プルリクリクエストに登録しておきました。
http://dbflute.seasar.org/ja/manual/function/helper/erflute/index.html#pullreqreq

ちなみに、もともとERMaster-bの頃から、
自動カラム作成は扱いづらかったみたいで、
(たぶん、今回の現象もあるのかな...)
jfluteの周辺で聞いたところほとんど使われていなかったです。

> マウスのポインターが作業中になります。(作業中から戻りません。)

ちょっと、こちらでは再現しなかったですね...ふむぅ

> exportでddlを作成する際に編集を保存していない場合保存できるようにして欲しい。
> exportでddlを作成後にermファイルが編集中になりますがこれをならないようにして欲しい。

確かに!という感じなので、プルリクリクエストに登録しておきました。

> viewの機能については後ほど試してみます。

よろしくお願いします!

jflute

unread,
Nov 8, 2016, 10:56:22 PM11/8/16
to DBFluteユーザの集い
jfluteです

// ERFluteのインストール

0.4.1 を出しました。

内容的にはSNAPSHOTの 0.4.0.4 と変わりません。
0.6.x くらいまでは、
新しい改善をして特に問題なさそうであれば、
どんどん上げていきます。

kubo

unread,
Nov 16, 2016, 2:21:41 AM11/16/16
to DBFluteユーザの集い
jfluteです

すでに3, 4日前に公開しましたが、
ERFlute 0.4.2 が出ています。

// ERFluteのインストール
http://dbflute.seasar.org/ja/manual/function/helper/erflute/index.html#install

SNAPSHOTだった 0.4.0.x 系の内容がぜんぶ含まれていて、
かつ、Oracleのvarcharの文字数指定対応が含まれています。


※ERFlute は、新しいのがでたらどんどん最新にしていってください。

kubo

unread,
Feb 2, 2017, 12:14:00 AM2/2/17
to DBFluteユーザの集い
jfluteです

こちらのスレッドを更新していませんでしたが、
年明けに 0.4.4 が出ています。
http://dbflute.seasar.org/ja/manual/function/helper/erflute/index.html#install

ノートの削除でNullPoになっていた、
など細かい不具合が治っています。

続々と ERMaster-b から ERFlute に
移行する実業務のプロジェクトが増えています。
(LastaFluteのExampleもERFluteに移行しています)


また、フィードバック頂いている内容を記載して起きます。

o 出力するDDLファイルの改行コードをLFにするオプションが欲しい
o 仮想ダイアグラムを作成した時に、すぐにその仮想ダイアグラムを開く
o 仮想ダイアグラムにて、選択テーブルとその子テーブルを一緒に持ってくる機能

プルリクリクエストにも追加しています。
http://dbflute.seasar.org/ja/manual/function/helper/erflute/index.html#pullreqreq

kubo

unread,
Jun 13, 2017, 12:09:20 PM6/13/17
to DBFluteユーザの集い
jfluteです

このスレッド自体はだいぶ置き去りにされてしまいましたが、
すでに 0.5.2 が出ています。だいぶ色々と改善されています。
http://dbflute.seasar.org/ja/manual/function/helper/erflute/index.html#install

実行環境がJava8になっています。
(なので、プルリクする時の開発環境もJava8です)

また、ERFluteを改善してくれている若者も出現しました。
https://www.slideshare.net/YoshioKajikuri/2oss

また、ユーザーの方からのプルリクも頂きました。
(ありがとうございます!!)
https://github.com/dbflute-session/erflute/pull/21


何か細かいやり取りとか必要であれば、
ぜひこのスレッドをお使いくださいませ(^^。
(別に新しいスレッドでも全然OKですけど)

kubo

unread,
Jun 17, 2017, 9:35:13 PM6/17/17
to DBFluteユーザの集い
jfluteです

ERFluteで、スーパープルリク頂きました。
ありがとうございます!
(仮想ダイアグラムの再描画は長年の悩み...とうとう)
https://github.com/dbflute-session/erflute/pull/24

それを含んで、ERFlute-0.5.3をリリースしました。
http://dbflute.seasar.org/ja/manual/function/helper/erflute/index.html

山田太郎

unread,
Jun 17, 2017, 10:10:39 PM6/17/17
to DBFluteユーザの集い
プルリクした山田です。

マージ&リリースありがとうございます。

2つ質問があります。
・もっとまとめてプルリクしたほうが良いでしょうか。週1のプルリクではマージが面倒かと思い聞きました。
・リファクタリングonlyのプルリクもマージしてもらえますか。最初は、eclipseで表示される問題を潰すくらいですが。

よろしくお願いします。

kubo

unread,
Jun 17, 2017, 10:16:42 PM6/17/17
to DBFluteユーザの集い
jfluteです

やまださん、こんにちは。
改めまして、プルリクありがとうございます!
とってもうれしいです。
(ERMaster-bではこういうのはできなかったので)

> もっとまとめてプルリクしたほうが良いでしょうか。週1のプルリクではマージが面倒かと思い聞きました。
いや、全然そんなことないですよ。
プルリクする側が管理しやすい単位とペースでOKです。

今回は早くユーザーに届けたい機能だったので、
つどつどリリースもしていましたが(^^。
(リリース作業も大したことないので)

> リファクタリングonlyのプルリクもマージしてもらえますか。最初は、eclipseで表示される問題を潰すくらいですが。
もちろんです。もとのコードで「やりかけ放置」的なコードも多いし、
eclipse警告も出まくってるので、この辺どうにかしないと、
他のコントリビューターもやりづらいだろうというのがあるので、
リファクタリング自体が重要な課題でもあります。

(ERFluteで名前を変えてるところもありますが、
まだ直しきれてないのもあるし...
VirtualDiagramがまだERModel(古い名前)とかになってるのとか)

山田太郎

unread,
Jun 18, 2017, 1:36:16 AM6/18/17
to DBFluteユーザの集い
返信ありがとうございます。

>プルリクする側が管理しやすい単位とペースでOKです。
お手数かけますが、私のやりやすい単位でプルリクします。

>VirtualDiagramがまだERModel(古い名前)とかになってるのとか) 
私もここらへん気になっていたので、気づいたら変更しようと思います。

今後もよろしくお願いします。

kubo

unread,
Jul 4, 2017, 6:02:22 PM7/4/17
to DBFluteユーザの集い
jfluteです

ERFlute-0.5.4 をリリースしました。
http://dbflute.seasar.org/ja/manual/function/helper/erflute/index.html

やまださんから、スーパーなプルリク頂きまして、
(ありがとうございます!)
基本的な動作はOKそうなので出しちゃいます。
ぜひ、みなさんも触っていただけるとうれしいです。
https://github.com/dbflute-session/erflute/pull/26


コード上の警告が減ったのもうれしいですね。
あと、TODOコメントもありがとうございます。
とりあえず詳しく書いておいて頂ければ、
あとで時間の取れるときに個別に対応できるのでうれしいです。


※改めて、大変なプログラムですよねぇ...

山田太郎

unread,
Jul 6, 2017, 11:03:56 AM7/6/17
to DBFluteユーザの集い
マージとリリースありがとうございます。

>改めて、大変なプログラムですよねぇ... 
ほんとそう思います。
まずは、全体の感じをつかむため、無駄な改行&thisを削除していこうと思います。

その後、instanceofしてる所を、パラレル継承にならないようリファクタリングしていけたらな、と考えてます。

山田太郎

unread,
Jul 9, 2017, 9:48:33 AM7/9/17
to DBFluteユーザの集い
アウトラインのVirtual Diagramツリーを展開した状態で起動するよう変更したいのですが、よろしいでしょうか。

テーブル数が増えた場合、仮想ダイアグラム上での操作が前提になると思うので、その方が使っていて面倒がないと思います。
どうでしょうか?

kubo

unread,
Jul 9, 2017, 10:06:11 AM7/9/17
to DBFluteユーザの集い
jfluteです

> アウトラインのVirtual Diagramツリーを展開した状態で起動するよう変更したいのですが、よろしいでしょうか。
いまって、全部アウトラインは閉じてる状態でしたっけね。
...ごそごそ...起動してみました、そうなってますね。

確かにVirtual Diagramは要素じゃなくて、
「図」ですから特別扱いしてもいいですね。
(もっと目立たせてもいいくらいで)

OKですー!
ありがとうございます。

kubo

unread,
Jul 16, 2017, 11:10:14 AM7/16/17
to DBFluteユーザの集い
jfluteです

やまださん、プルリクありがとうございますー。
https://github.com/dbflute-session/erflute/pull/29

ひとつ、Display table title largerについて。
デフォルトをどちらにしました?

テーブル名を大きく表示したいというのがあって、
ERMaster-bで入れてもらった機能のような覚えが...
なので、切り替え機能自体は確かにMainDiagramで
効いてないように見えるので削除してもOKですが、
テーブル名がカラム名よりも少し大きく表示される
状態にしたいという感じですね。


# 本当は、さらにやりたいことがあって、
# テーブルを選択してフォントサイズを変更したとき、
# テーブル名だけサイズが変わるようにしたかったりします。
# 200テーブル超えとかするときに、
# 主要テーブルが大きく目立つようにさせたいけど、
# いまだとカラム名まで大きくなっちゃって...

山田太郎

unread,
Jul 16, 2017, 11:43:36 AM7/16/17
to DBFluteユーザの集い
山田です。
勝手に変えてしまってすみません。

>ひとつ、Display table title largerについて。 
>デフォルトをどちらにしました?
通常にしてしまいました。
デフォを大きめにして 、再度プルリクします。

山田太郎

unread,
Jul 16, 2017, 11:51:43 AM7/16/17
to DBFluteユーザの集い
元の大きめのサイズが1.5emなのですが、ちょっと大きすぎる感じなので1.25にしたいです。
まずいでしょうか。200テーブル超えるようだと目立たないでしょうか?

山田太郎

unread,
Jul 16, 2017, 12:15:29 PM7/16/17
to DBFluteユーザの集い
すみません。
そもそも、まだバグが取り切れてないようなので、取り下げます。

kubo

unread,
Jul 16, 2017, 9:37:16 PM7/16/17
to DBFluteユーザの集い
jfluteです

やまださん

> 元の大きめのサイズが1.5emなのですが、ちょっと大きすぎる感じなので1.25にしたいです。
> まずいでしょうか。200テーブル超えるようだと目立たないでしょうか?
そうですねぇ...。
いま、ERMaster-bから移行してERFluteみんな使いたてで、
あんまりバージョンアップで見た目が変わっちゃうのは
印象良くないなってところなので、できればそのままにしたいです。
(みんなERMaster-bの頃からみんな慣れてるサイズなので)

オプションとかで全体のテーブル名のフォントサイズが変えられるとか、
そういうのができたときにデフォルトの変更も検討する、
って感じにできればと。(ごめんなさい)

> そもそも、まだバグが取り切れてないようなので、取り下げます。
りょうかいですー。
いつもプルリクありがとうございます。

山田太郎

unread,
Jul 19, 2017, 6:40:02 AM7/19/17
to DBFluteユーザの集い
山田です。

相談なのですが、コメント化されたソースは削除する方向で問題ないですよね。

kubo

unread,
Jul 19, 2017, 7:39:36 AM7/19/17
to DBFluteユーザの集い
jfluteです

> 相談なのですが、コメント化されたソースは削除する方向で問題ないですよね。
おっけーですー。

自分はまずコメント無しでコメントアウトすることはないので、
基本的に古いコメントのはずです。
なんかコメントのコメントで理由とか書いてない限りはざっくり消しちゃってOKです。
(もはや、なんのやりかけなのかわからないし...)

山田太郎

unread,
Jul 19, 2017, 8:36:46 AM7/19/17
to DBFluteユーザの集い
山田です

それでは、コメントにした理由の書いてないコメントソースは削除していきます。

mokkouyou

unread,
Jul 21, 2017, 2:49:42 AM7/21/17
to DBFluteユーザの集い
いつもお世話になっております。mokkouyouです。

ER開いたときにテーブル開くようになっていて感動しましたToT
山田さん対応ありがとうございます。

それはそうと2点ほど
試しにmysql5.7の新機能と遊んだ際のフィードバックになります(例によって困ってはいません)

・記述=昇順降順?
Indexタブ見たときに右下のIndex Columnの所に列名|記述
となっていますが、これって昇順降順のことでしょうか?(出力してみたところ、おそらくそうなのかなと)

・Mysql5.7の新機能について
①generated columnについて、正面案で対応がないように見受けられたので、
Constraint of columnにて定義するとそれっぽく出力できたが、NOT NULLと組みあせちゃうと順序で構文エラーになってしまう
○CONTENT2 VARCHAR(1000) AS (REPEAT(content, 3)) STORED NOT NULL
×CONTENT2 VARCHAR(1000) NOT NULL AS (REPEAT(content, 3)) STORED
※NOT NULLがこの用途で必要なのかは別として。

②FULLTEXT(全文検索)について
FULLTEXT idxcontent (content) WITH PARSER ngram
が出来るといいのかなと思うのですが、インデックスタブで選べるFULLTEXTだと以下のようになってしまう。↓
CREATE INDEX IDX_BLOG_CONTENT USING BTREE ON BLOG (CONTENT DESC);

なお、代替案としては、Constraint of Tableに入れるとそれっぽく出力されました。
※とはいえ、他のindexとの絡みがあるのでindexタブで使えるといいかなぁと。

冒頭にも申し上げた通り、困ってもいませんし、
replace-schemaの仕上げにALTER投げてもいい部分だとは思いますが、せっかくER図と実態が乖離しないのがメリットかなぁとは思いますのでフィードバックさせていただきました。


山田太郎

unread,
Jul 21, 2017, 9:23:34 PM7/21/17
to DBFluteユーザの集い
山田です。

機能追加についての相談です。

仮想ダイアグラムのタブを複数開けるようにしたいのですが、よろしいでしょうか。
理由は、頻繁に使用する仮想ダイアグラムは、タブへのシングルクリックで開けた方が使いやすいと思ったからです。

仕様は以下です。
- メインダイアグラム込で最大10個タブを開ける。
- 新しいタブは、メインダイアグラムの右隣に開く。既にタブがある場合、新しいタブの右に移る。
- 10を超えたら、最も古いタブを閉じる。(一番右にあるタブを閉じる。)
- 既にタブとして存在する仮想ダイアグラムが開かれた場合、古い方を閉じて、新しくメインダイアグラムの右隣に開く。

どうでしょうか?

kubo

unread,
Jul 21, 2017, 11:47:02 PM7/21/17
to DBFluteユーザの集い
jfluteです

mokkouyouさん、フィードバックありがとうございます!

> Indexタブ見たときに右下のIndex Columnの所に列名|記述
あ、これ Pleiades 使ってます?
そこが通常だと「Column Name | Desc」になっているので、
Order By の Desc (Descend) のことですね。
たぶん、Descriptionの省略と勘違いされて
「記述」になってるんですね、きっと(^^。

> Mysql5.7の新機能について
ありがとうございます。結構色々と追加されてるんですね。
MySQLは積極的に追従したいので、タスクに登録しておきます。
DDLの部分はプログラムが分離されてて、
わりと Eclipse Plugin 関係なく対応しやすいところなので。


やまださん、提案・相談ありがとうございます!
タブが増えたほうが絶対にやりやすいですよね。
仕様も問題ないかと思います。

既にタブとして存在するものを開いたとき、
そのままそれを開くが多いですが、
とにかく新しく指定されたダイアグラムが常にメインの隣に入る、
ってスタイルですね。

ctrl+O (アウトライン) でテーブル指定して自動的に
仮想ダイアグラムを開くときも同じがいいですかね。
(そこは実装の都合次第かもですが)

あと、そのタブをファイルに保存するか迷いますね。
いまって、仮想ダイアグラム何を開いていたのかは、
差分が出ないようにと保存しないようにしているので...

山田太郎

unread,
Jul 22, 2017, 1:40:10 AM7/22/17
to DBFluteユーザの集い
山田です

返信ありがとうございます。

>ctrl+O (アウトライン) でテーブル指定して自動的に 
>仮想ダイアグラムを開くときも同じがいいですかね。 
>(そこは実装の都合次第かもですが) 
統一された操作感のため、できればこの様に実装したいです。
私に変更できればですが。

>あと、そのタブをファイルに保存するか迷いますね。 
>いまって、仮想ダイアグラム何を開いていたのかは、 
>差分が出ないようにと保存しないようにしているので... 
この次の変更で保存できればな、と考えていました。
しかし、これで差分がでてマージが面倒になったら、ERFluteの
良さが減ってしまいますね…

とりあえず保留にしといて、考えがまとまったらまたここで提案します。

kubo

unread,
Jul 22, 2017, 9:57:05 AM7/22/17
to DBFluteユーザの集い
jfluteです

やまださん

> 統一された操作感のため、できればこの様に実装したいです。
ありがとうございます。
まあ、そこは実装できそうであればくらいな感じで。

> しかし、これで差分がでてマージが面倒になったら、ERFluteの
> 良さが減ってしまいますね…
デフォルトはあくまで、
「閲覧行動だけで差分が出ないように」
というのをポリシーにしたいのですが、
個人でやっててあれこれ保存したいという人のために、
「オプションで見た目操作もあれこれ保存できるようになる」
って方向性ならいいかもですね。

溝口

unread,
Jul 22, 2017, 8:49:12 PM7/22/17
to dbf...@googlegroups.com
溝口です。

今のerfluteのデータ形式がどうなっているか分からないですが、
・dbに関するもの。
・表示に関するもの。ERD毎。
・ツールの設定に関するもの
大きく分けてこの3種類のファイルを分ける方向にならないでしょうか?

こう分かれてると、表示の変更の影響をdbに関する部分が受けたり、設定を変えても影響を受けなかったりしていいと思うのですが

2017年7月22日(土) 22:57 kubo <dbf...@gmail.com>:
--
このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
このトピックの登録を解除するには https://groups.google.com/d/topic/dbflute/uAOLFGNGfAU/unsubscribe にアクセスしてください。
このグループから退会し、グループのすべてのトピックの登録を解除するには dbflute+u...@googlegroups.com にメールを送信してください。
このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
https://groups.google.com/group/dbflute からこのグループにアクセスしてください。
その他のオプションについては、https://groups.google.com/d/optout にアクセスしてください。

kubo

unread,
Jul 22, 2017, 9:19:58 PM7/22/17
to DBFluteユーザの集い
jfluteです

みぞぐちさん、おはようございます。

> ・dbに関するもの。
> ・表示に関するもの。ERD毎。
> ・ツールの設定に関するもの
> 大きく分けてこの3種類のファイルを分ける方向にならないでしょうか?
お、ファイルを分けるというのは、
.ermファイルが例えばその三つの分割されるイメージでしょうか?

いまは、.ermのxmlはこのようになっています。
http://dbflute.seasar.org/ja/manual/function/helper/erflute/howto.html#xmlmaster

確かに、表示に関するファイルを分けて、それをgitignoreにしておけば、
個人としては表示の変更などを保存しておくことができますね。
ただ、シンプルな一つのファイルが、ディレクトリとうか、
Macの.appディレクトリっぽくなるって感じで、
わりと大きなインパクトになりそうですね。

# というか、中心は.ermのままで、
# 表示に関するものを別ファイルで隣とかに保存するように
# すればよかったり!? (それをgitignoreに)

溝口

unread,
Jul 22, 2017, 9:40:04 PM7/22/17
to dbf...@googlegroups.com
溝口です。

ERDに関しては、diagramとvdiagramが1つづつファイルに分かれる感じが良いのかも。
たとえば、vdiagramが5個あれば、diagramを入れて6ファイルを想定しました。

2017年7月23日(日) 10:19 kubo <dbf...@gmail.com>:

kubo

unread,
Jul 23, 2017, 1:24:21 AM7/23/17
to DBFluteユーザの集い
jfluteです

みぞぐちさん、
なるほど、イメージこんなところでしょうかね。

maihamadb
|-maihamadb-main.erm
|-vdiagram-sea.xml
|-vdiagram-land.xml
|-display-operation.xml

確かに差分がわかりやすくなりますし、
gitignoreで各プロジェクトの都合で共有するしないが
調整しやすいかもですね。

一方で、一ファイルになっていることのシンプル性も捨てがたいので、
そのへんのはいろいろな人に聞いてみたいと思います。

どのみち、実装コストはかなり高いので、
(ERFluteのermからの移行に加えて、
ERMasterからの移行もキープしないとなどもあり)
すぐにあれこれ着手できるものではないと思うので、
じっくり考える案件にしたいなと。
提案ありがとうございます!



※事務連絡: 明日月曜日ネット上にいる時間が短いので返事が鈍ります。m(_ _)m

mokkouyou

unread,
Jul 24, 2017, 6:44:03 AM7/24/17
to DBFluteユーザの集い

mokkouyouです
まさかpleiades由来とは!失礼しましたー


2017年7月23日(日) 14:24 kubo <dbf...@gmail.com>:
--
このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
このグループから退会し、グループからのメールの配信を停止するには dbflute+u...@googlegroups.com にメールを送信してください。

kubo

unread,
Jul 29, 2017, 11:42:05 PM7/29/17
to DBFluteユーザの集い
jfluteです

やまださん、仮想ダイアグラムのタブの複数化ありがとうございます!
こちらで動かして、しっかり複数化できています。

一方で、ちょっと保存すると、関係ないところで差分が出きてしまいました。
1. 既存のermファイルを開いて...
2. 特に何も変更せずに保存(テーブルのダイアログ開いて閉じると編集済になるので保存)
3. 元のファイルとの差分を見てみる
4. こちらのようになる:
https://github.com/dbflute-session/erflute/pull/31#issuecomment-318875612

もしかしたら、ちょっと前のコードからなっていたのかもしれません。
今回のプルリクのコードでこの現象が発生したとは限りません。
(一個前のプルリクのやつそこまで見れてなかったので)


FKカラムの情報が、FK先(PK)のカラムのもので上書きされてしまっているのかも!?
もともと、ERFluteには、FKを作るときに:
o 既存のFKカラム使って関連付ける
o 相手のPKカラムをコピー(参照)して関連付ける
と二つあって、情報が違うと思うので、
その辺が入れ替わっちゃってたりするのかも!?とか。

kubo

unread,
Jul 29, 2017, 11:53:51 PM7/29/17
to DBFluteユーザの集い
jfluteです

ちょっと前のバージョンのERFluteと比較してみて...

1. 新規ermファイル
2. SEAテーブル(SEA_ID)、LANDテーブル(LAND_ID, SEA_ID)作成
3. 1:nリレーションシップでSEAとLANDを紐付ける (既存カラム利用)

をやったら、

前のバージョンのERFlute:
xml上はLANDのSEA_IDは既存の情報のまま (referred_columnだけ追加される)

developのERFlute:
xml上はLANDのSEA_IDがSEAのSEA_IDの情報になる

仮想ダイアグラムとかとは関係なさそうですね。
どこかで既存カラムとPK参照カラムの処理がごちゃになっちゃってるのかも。

※ちょと時間切れで、夜にまた検証してみます。

山田太郎

unread,
Jul 30, 2017, 1:41:57 AM7/30/17
to DBFluteユーザの集い
山田です

お手数おかけしてすみませんでした。
多分今回のプルリクではないですね。

ermファイルに差が出てしまうのはまずいので、調査します。

ただ、既存カラム利用であっても、外部キー列が参照先の列に依存する挙動
(参照先を変更したら、参照元も変わる)は、ERMaster-bと同じ挙動です。

この外部キー列が参照先に依存する挙動は、整合性が担保できて良いと思います。
もしそのようにならないケースがあったら、そちらの挙動のほうが問題が多くなりそうです。

まとめると、
- ermファイルに差が出るのは修正。
  - 具体的には、外部キー列の論理名は保存しない。
- 外部キー列が参照先列に依存する挙動はそのまま。

でどうでしょうか。
よろしくお願いします。

山田太郎

unread,
Jul 30, 2017, 1:51:52 AM7/30/17
to DBFluteユーザの集い

山田です

すみません。何か色々誤解してました。
投稿後に気づきました。

外部キーの全てが、参照先に依存するようになったのが問題なのですね。
型以外依存しないようにしないとまずいですね。

修正します。

kubo

unread,
Jul 30, 2017, 2:37:15 AM7/30/17
to DBFluteユーザの集い
jfluteです

やまださん、ありがとうございます。

> 外部キーの全てが、参照先に依存するようになったのが問題なのですね。
> 型以外依存しないようにしないとまずいですね。
そうですね。
PK側の型の変更は追従でOKですし、そこは今も動作してると思います(たぶん)。
logical_nameとdescriptionを追従してしまってるということですね。

山田太郎

unread,
Jul 30, 2017, 8:11:01 AM7/30/17
to DBFluteユーザの集い

山田です。

すみません。少し場当たり的な実装ですが、修正しました。
プルリクエストをご確認いただけますよでしょうか。

よろしくお願いします。

kubo

unread,
Jul 30, 2017, 9:25:25 AM7/30/17
to DBFluteユーザの集い
jfluteです

やまださん
ありがとうございます。

こちらで現象が発生しないのを確認しました。
0からファイルを作ってFK作って想定通りのXMLで、
ファイルを再度開いても正常に開くことができました。
(実は先程の状態だと、XMLの読み込みでエラーが発生して、
"Not found the column for compound unique key"
開くことができていませんでした: 恐らく今回の現象が影響)

コードもまあ取り急ぎ仕方ないですね。
ただ、もうちょいテストをしようかなと思います。
身の回りの現場だと(しかも複数の会社)、
「既存カラムを使ってのFK作成」をメインに使っていて、
そこ大事な部分なので。


ちなみに、こちらで動作確認で使っているermファイルは、
LastaFluteのExampleのものを使っています。
https://github.com/lastaflute/lastaflute-example-harbor/tree/master/modeling
新しいプログラムでこのermを開いて、
あれこれ動かしてxmlの差分などを確認しています。
(また、ケースバイケースで0から作っての動作確認もしています)

あと、ライブラリ化させてから、まだちょと不安があるときは、
時々現場のメンバーに現場のermで軽く触ってもらったりしています。
(300テーブル、400テーブル、仮想ダイアグラム10,20あるermで)

※オープンなテスト用のermで、
ちゃんといろいろなケースを網羅したxml作りたいですね...

山田太郎

unread,
Jul 30, 2017, 9:34:51 AM7/30/17
to DBFluteユーザの集い
山田です

確認いただき、ありがとうございます。

でテストしようと思います。

kubo

unread,
Jul 30, 2017, 9:40:55 AM7/30/17
to DBFluteユーザの集い
jfluteです

主にやまださん

いまの状態のdevelopを、0.5.4.1 として公開しました。
サイトにリンクはなく、0.5.4 のリンクを直接 0.5.4.1 に修正すれば、
ダウンロードできます。
http://dbflute.seasar.org/ja/manual/function/helper/erflute/index.html#downloadjar

もしよければ、やまださんの方でも動作確認して見て頂ければと。
(こちらでも、このjarを使って現場のermでも軽く動かしてみようかなと)

山田太郎

unread,
Jul 30, 2017, 10:40:43 PM7/30/17
to DBFluteユーザの集い
山田です

ビルドとリリースありがとうございます。
当方のプロジェクトでも使ってみます。

kubo

unread,
Aug 11, 2017, 9:41:16 AM8/11/17
to DBFluteユーザの集い
jfluteです

やまださん、プルリクありがとうございます!

0.5.4.1 も (ある程度...) 確認できたので、
今回のプルリクも含めて、0.5.5 をリリースしました!

// ERFlute - Jarファイルのダウンロード
http://dbflute.seasar.org/ja/manual/function/helper/erflute/index.html#downloadjar



# 動作確認リソースも少ないですから、ある程度動いたら、
# どんどん現場に使ってもらうようにしちゃいましょう(^^。
#
# (特に今月は、LastaFlute/DBFluteの方で大きく時間取られてるもので...)

kubo

unread,
Oct 22, 2017, 2:39:04 AM10/22/17
to DBFluteユーザの集い
jfluteです

ERFlute-0.5.7をリリースしました。
http://dbflute.seasar.org/ja/manual/function/helper/erflute/index.html


多くのプルリクエストを頂いたバージョンです。
ありがとうございます。

kubo

unread,
May 16, 2020, 7:11:54 AM5/16/20
to DBFluteユーザの集い
jfluteです

ERFlute-0.5.8 をリリースしました。
http://dbflute.seasar.org/ja/manual/function/helper/erflute/index.html

o you can select H2 database when creating new file
o you can import tables by Mysql JDBCDriver 8.0.x
o you can change default prefix of constraint name by design_settings tag
o you can set only-one column named unique of MySQL

Eclipse-0.4.8 以上をご利用ください。(0.4.8でデプロイしています)

2年半ぶり、環境を整えるのに苦労しましたが、なんとかリリースできました。
二つのプルリクエストを頂きました。ありがとうございます!

なんだかんだER図を描くツールとして現場で活躍していますので粛々とやっていきたいと思います。
引き続き、プルリクエストお待ちしております!
Reply all
Reply to author
Forward
0 new messages