あけましておめでとうございます。
Java8対応のDBFluteの十一回目のリリース。
DBFlute-1.1.1 です。
DBFlute Top
Change Log
八年連続、八回目の元旦リリースです!
「DBFluteフェス2015」での約束、
「また、元旦にリリースします!」
を果たすことができました。
無事、リリースできました
まずは、Maven Central のボタンをぽちっ!
これにて、
DBFlute Runtime (jar) が
Central で公開されました。
pom.xml にて、1.1.1 をお書きください。
...
そして、場所を変えて、
DBFlute Engine を publish!
これにて、
manageタスクで DBFlute Engine が
ダウンロードできるようになりました。
sh manage.sh で 94 (upgrade) を叩いた後、
renewal or regenerate してくださいませ。
…
…
昨年のような物理トラブルはありませんでしたが...
=> DBFlute-1.1.0 Released (2015年) | jfluteの日記
論理トラブルはちょっとあったので、
結局ちょっと年初め早々、大集中力を使いました(^^。
ということで、無事リリースできました!やったー。
(指がかじかんでなかなか動かなかったのですが…)
SchemaPolicyCheck見参!
DBFluteフェスでのパネルディスカッションのときに、
awaawaさんから約束を要求(!?)されたものですね。
ズバリ、
DB設計の checkstyle
と言えます。例えば...
o テーブル名は大文字ベース
o _FLG のカラムは必ずNotNull制約が付く
などなど。
【追記】オフィシャルページできました。
=> DB設計のチェックスタイル (SchemaPolicyCheck)
テーブルの作り方、決めごとしていたとしても、
何人もの人でDB設計をまわしてて気付いたら、
「あれ!?」ってテーブルができあがっちゃうとか...
DB設計レビューで基礎的で基本的な指摘ばかりで、
本質的なレビューの時間が少なくなっちゃうとか...
あと地味にあるのが、Identity付け忘れて、
いざアプリでinsertを動かしたときに初めて気付くとか…
(DB変更のブランチもう閉じちゃったよぅ、もう一回)
もう、そうなんだったらー、
DB設計してDBFluteのバッチ叩いて、
ダメなテーブルだったら落ちる
が、できたらいいじゃない?って発想。
dfprop に schemaPolicyMap.dfprop を作成して、
以下のように設定をして、Docタスクを叩くとチェックされます。
(JDBCタスクで取得したメタデータを元に)
Maihamaプロジェクトのものを参考にするとよいでしょう。
=> schemaPolicyMap.dfprop | Maihama
map:{
; tableExceptList = list:{}
; tableTargetList = list:{}
; tableMap = map:{
; themeList = list:{ hasPK ; upperCaseBasis ; identityIfPureIDPK }
}
; columnMap = map:{
; themeList = list:{ upperCaseBasis }
; statementList = list:{
; if columnName is suffix:_FLAG then bad
; if columnName is suffix:_FLG then notNull
; if columnName is suffix:_FLG then dbType is INT
}
}
}
statementList の if columnName のところは、
他に dbType も指定できます。
then のところは、alias や comment も指定できます。
例えば dbType が datetime だったら、
alias は "日時" で終わるとか指定できますね。
…
...
ただまあ、ちょっとまだまだ機能が足りてません。
大晦日の日に一日で仕上げたので、
とりあえずは土台だけ作り上げたという感じです。
実際に使いながら現場フィットさせて、
どんどん精度を高めていこうかと思っています。
ドキュメントもまだ整備されていません。
詳しくは jflute に聞くか、
こちらのソースを読んでください的な...
ひとまずスピード重視でそりゃぁもうベタベタと。
=> DfSchemaPolicyChecker.java | DBFlute
この機能がもっとリッチになっていったら、
かなりDB設計ライフがハッピーになるんじゃないかなって。
ちょっと2016年、こちら良いものに仕上げたいと思います。
ぜひ、使ってみて、フィードバックを頂ければと思います。
みなさんのDB設計ポリシーを知りたい!
それがまた、DBFluteのパワーになります。
そういえば、sp取れましたね
バージョンの sp がどこまで伸びるんだ!?
って心配された方いらっしゃるかと思います。
とりあえず、2015年の丸一年でsp9まで来ました。
ちょうど十回のリリースでした。
(Engineだけのパッチはたくさんありましたが...)
昨年で、チャレンジだったJava8版のDBFluteが、
堅いものになったかなと思っています。
ということで、今年 1.1.1 となりました。
ぜひ、1.1.1 をお試しください。
今年もよろしくお願いします。