intelliJ IDEAのRun Dashboardと愚かな自分

あるSpring BootプロジェクトをintelliJからimportした。
gradle任せなサーバーアプリ。

importするとintelliJ

「Spring Bootのアプリですよね?面倒なことはやっておきますよ?」

みたいなことを聞かれる。
存在は知っていたけど今まで触ってこなかった機能だ。
気まぐれでお願いすると、Run Dashboardにクラス名が表示された。
実行アイコンを押せば即実行できるようになったらしい。

まあ、よくわからないけど便利ね、と思い、そのまま実行してみる。
当然ながら普通に起動した。
JPA&Hibernateddl-autoだもんで、DBやテーブルもガッツリ作ってくれてるみたい。

少し触っていると違和感に気付く。
・・・データフローがおかしい、というかトランザクション効いてる?

不安に駆られ確認してみると、テーブルのDDLにはengine=MyISAM・・・
MyISAMだとトランザクションは効かない。どうあがいても効かないってわけではないらしいけれど、まあ、その辺は今は重要ではないので置いといて、
とりあえず言えるのは、このシステムはInnoDB前提でできているということ。

InnoDB指定は環境変数で行っている。
指定しているのはgradle、・・・タスク指定で。

Run Dashboardに作られた実行の設定を見てみると、buildしかしていない。
どうやらbuildタスク遂行後、mainクラスを実行する模様。

つまり(自分が)盛大に勘違いしていたわけだ。
Run DashBoardはSpring Boot用の何か、と思いこんでいたので、起動時にはbootRunなりbootJarなりが呼ばれているものと。

というわけで、

実行時のVMオプションに-Dhibernate.dialect.storage_engine=innodbを設定
ddl-autoはdrop-create
再起動

再生成されたテーブルのDDLはengine=InnoDBになった。

思い込みもあったけど、自動でやってくれるってのは、その内容を理解しているからこそ、面倒だから自動化しよう、ってことよね。
理解するフェーズをすっ飛ばして気まぐれでやるもんじゃないわ・・・