package Ġno . nav . person br uk er . dit tn av . event ag gregator . config Ċ Ċ import Ġcom . zaxxer . hikari . Hikari DataSource Ċ import Ġorg . fly way db . core . Fly way Ċ import Ġorg . fly way db . core . api . configuration . Fluent Configuration Ċ import Ġjavax . sql . DataSource Ċ Ċ object ĠFly way Ġ{ ĊĊĠĠĠ Ġfun Ġrun Fly way Migrations ( env : ĠEnvironment ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfly way Ġ= Ġconfigure ( env ). load () ĊĠĠĠĠĠĠĠ Ġfly way . migrate () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġconfigure ( env : ĠEnvironment ): ĠFluent Configuration Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Builder Ġ= ĠFly way . configure () ĊĠĠĠĠĠĠĠ Ġval ĠdataSource Ġ= Ġcreate Correct Admin Datasource For Environment ( env ) ĊĠĠĠĠĠĠĠ Ġconfig Builder . dataSource ( dataSource ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Config Util . is Currently Running On N ais ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Builder . init Sql (" SET ĠROLE Ġ\" ${ env . db Admin }\" ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġconfig Builder ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Correct Admin Datasource For Environment ( env : ĠEnvironment ): ĠDataSource Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( Config Util . is Currently Running On N ais ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue Ġ-> Ġcreate DataSource Via Vault With Admin User ( env ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse Ġ-> Ġcreate DataSource For Local Db With Admin User ( env ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate DataSource Via Vault With Admin User ( env : ĠEnvironment ): ĠH ikari DataSource Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠPostgres Database . hikari Datasource Via Vault ( env , Ġenv . db Admin ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate DataSource For Local Db With Admin User ( env : ĠEnvironment ): ĠH ikari DataSource Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠPostgres Database . hikari From Local Db ( env , Ġenv . db User ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ