ebonyrack 0.4.0 をリリースしました。
https://github.com/shigenobu/ebonyrack/releases
今回の目玉は、DDLからのIMPORTです。
結構危険な機能なので、新規プロジェクト作成直後しか利用できません。
この機能により、mysqldumpまたはmariadb-dumpで出力される
- CREATE SEQUENCE
- CREATE TABLE
をパースして、ebonyrack上に展開することが可能となります。
いい加減なDDLでは駄目で、データベースが吐き出すDDLを使ってください。
こんな感じですね。
mariadb-dump --databases test -d > test.sql
DDLのパースには、antlr4を使っています。
(ANTLR)
※内包したため、かなりバイナリが重くなりました。。
※ANTLRを使ったMariaDBのパースについては、そのうち書こうかと思います。
とはいえ、以下の機能の部分のパースは無視しています。
- テーブルのオプション
- カラムのオプション(生成列とかCHECK制約とかINVISIBLEとか)
- 外部キー
一応、実案件の100を超えるテーブルは取り込めたので、まあ大丈夫かなと。
備忘録を兼ねて、今後のTODOを記載しておきます。
- オブジェクトのコピー&ペイスト(やっぱりあるといいなと思いました)
- IE記法の導入
- ヘルプダイアログ
- クラス生成
- DDL出力時に関連するノートをDOCコメントとして出力
このうちの「クラス生成」は、テンプレートを指定すると、
クラスコードが作れるってやつですね。
これをやると、設計段階でプログラムのクラスが作成できるのでいいかなと思っています。
以上
コメントがあればどうぞ