Spring BatchのMETA tableをクリアする
最近になって、やっと Spring Batch なるものを知りました(^ω^;)
しばらく Java 系の勉強から離れていたもので… ← 言い訳(爆)
ということで、まきさんのブログを参考にさせていただいたり、Qiita の投稿記事や英語のサイト、@Configuration の仕組みを知るためにソースをダウンロードしたりして、コツコツ勉強しました。
いやいや、なんとも便利なものです(・∀・)
まぁ何かを作ったら GitHub にあげようと思います<(_ _)>
その中で @Scheduled という繰り返し機能を知ったのですが、これがまた便利で cron の機能もあったりします。
ただ、実行される度に DB に実行結果が INSERT されるので結構肥大化してきます。
大した件数ではないものの、やはり10秒毎とかになってくるとそこそこの件数です。
そこで、指定日以前のデータはごっそり削除するシェルを作成してみました!
毎度ながらコードは Gist に上がってますので、そちらを加工したりして使ってみてください(・∀・)
各種サイトを参考に作らせていただいてますので、当然フリーライセンスでございます!
特に以下のサイトを参考にさせていただきました!
ありがとうございます!
参考
参考サイトにもあるように、DELETE を実施する順番が大事です。
実際にこちらのサイトを見ると分かる通り、FOREIGN KEY がガッツリ貼られているのでこれを回避するように SQL を実行しなくてはいけません。
それと全件消してしまわないことだけ気をつければ、後は自由に消せると思います♪
こちらのシェルですが、cron で実行しても問題ないように 1 トランザクション内で実行するように作っています。(多分…)
ツッコミがあればご指摘ください<(_ _)>
というものを作りました…というお話でした(`・ω・´)