package Ġcom . project city build . core . database Ċ Ċ import Ġco . a ik ar . idb . Hikari P ooled Database Ċ import Ġcom . project city build . entities . migrations .* Ġ// Ġk tl int - disable Ġno - wildcard - imports Ċ import Ġcom . project city build . modules . logger . Platform Logger Ċ Ċ object ĠMigration Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġmigrations Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠ Ġ` 2 0 2 2 0 1 1 4 _ first _ time _ run ` (), ĊĠĠĠĠĠĠĠ Ġ` 2 0 2 2 0 1 1 5 _ player _ configs _ war ps ` (), ĊĠĠĠĠĠĠĠ Ġ` 2 0 2 2 0 1 2 0 _ tele port _ history ` (), ĊĠĠĠĠĠĠĠ Ġ` 2 0 2 2 0 2 0 1 _ add _ hub ` (), ĊĠĠĠĠĠĠĠ Ġ` 2 0 2 2 0 2 0 1 _ add _ ip _ b ans ` (), ĊĠĠĠĠĠĠĠ Ġ` 2 0 2 2 0 2 0 7 _ add _ tele port _ message _ sil encing ` (), ĊĠĠĠĠĠĠĠ Ġ` 2 0 2 2 0 3 2 0 _ rename _ queued _ war ps ` (), ĊĠĠĠĠĠĠĠ Ġ` 2 0 2 2 0 5 0 5 _ delete _ queues ` (), ĊĠĠĠĠĠĠĠ Ġ` 2 0 2 2 0 5 3 0 _ delete _ b unge ec ord _ cols ` (), ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfun Ġexecute If Ne cessary ( ĊĠĠĠĠĠĠĠ Ġdatabase : ĠH ikari P ooled Database , ĊĠĠĠĠĠĠĠ Ġlogger : ĠPlatform Logger , ĊĠĠĠĠĠĠĠ Ġcurrent Version : ĠInt ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġversion Ġ= Ġcurrent Version ĊĠĠĠĠĠĠĠ Ġval Ġtotal Migrations Ġ= Ġmigrations . size ĊĊĠĠĠĠĠĠĠ Ġif Ġ( version Ġ>= Ġtotal Migrations ) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġwhile Ġ( version Ġ< Ġtotal Migrations ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmigration Ġ= Ġmigrations [ version ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . info (" Running Ġmigration Ġ${ version Ġ+ Ġ 1 }: Ġ${ migration . description }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmigration . execute ( database ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġversion ++ ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( current Version Ġ!= Ġtotal Migrations ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Version ( database , Ġversion ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Version ( database : ĠH ikari P ooled Database , Ġnew Version : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdatabase . executeUpdate (" UPDATE Ġmeta ĠSET Ġ` version ` = ?", Ġnew Version ) ĊĠĠĠ Ġ} Ċ } Ċ