package Ġorg . cj ug Ċ Ċ import Ġorg . cj ug . data . Books Ċ import Ġcom . zaxxer . hikari . HikariConfig Ċ import Ġcom . zaxxer . hikari . Hikari DataSource Ċ import Ġio . ktor . application . Application Ċ import Ġio . ktor . util . K tor Experimental API Ċ import Ġorg . jetbrains . ex posed . sql . Database Ċ import Ġorg . jetbrains . ex posed . sql . Schema Utils Ċ import Ġorg . jetbrains . ex posed . sql . transactions . transaction Ċ import Ġorg . slf 4 j . LoggerFactory Ċ Ċ const Ġval ĠH IK ARI _ CONFIG _ KEY Ġ= Ġ" ktor . h ik ar icon fig " Ċ Ċ @ K tor Experimental API Ċ fun ĠApplication . init DB () Ġ{ ĊĠĠĠ Ġval Ġconfig Path Ġ= Ġenvironment . config . property ( H IK ARI _ CONFIG _ KEY ). getString () ĊĠĠĠ Ġval Ġdb Config Ġ= ĠH ikariConfig ( config Path ) ĊĠĠĠ Ġval ĠdataSource Ġ= ĠH ikari DataSource ( db Config ) ĊĠĠĠ ĠDatabase . connect ( dataSource ) ĊĠĠĠ Ġcreate Tables () ĊĠĠĠ ĠLoggerFactory . getLogger ( Application :: class . simple Name ). info (" Initialized ĠDatabase ") Ċ } Ċ Ċ private Ġfun Ġcreate Tables () Ġ= Ġtransaction Ġ{ ĊĠĠĠ ĠSchema Utils . create ( ĊĠĠĠĠĠĠĠ ĠBooks ĊĠĠĠ Ġ) Ċ }