package Ġcom . one gravity . persistence Ċ Ċ import Ġcom . one gravity . config . Database Config Ċ import Ġorg . kt orm . logging . Console Logger Ċ import Ġorg . kt orm . logging . LogLevel Ċ import Ġorg . slf 4 j . Logger Ċ import Ġorg . kt orm . database . Database Ċ Ċ fun Ġget Kt orm Database ( ĊĠĠĠ Ġconfig : ĠDatabase Config , ĊĠĠĠ Ġlogger : ĠLogger , ĊĠĠĠ Ġlog Level : ĠLogLevel Ġ= ĠLogLevel . WARN , ĊĠĠĠ Ġclean DB : ĠBoolean Ġ= Ġfalse Ċ ): ĠDatabase Ġ{ ĊĊĠĠĠ Ġlogger . debug (" database Ġurl : ĠĠĠĠĠ Ġ${ config . url }") ĊĠĠĠ Ġlogger . debug (" database Ġdriver : ĠĠ Ġ${ config . driver }") ĊĠĠĠ Ġlogger . debug (" database Ġuser : ĠĠĠĠ Ġ${ config . userName }") ĊĠĠĠ Ġlogger . debug (" database Ġpassword : Ġ*** ") ĊĊĠĠĠ Ġ// Ġwith ĠDataSource ĊĠĠĠ Ġreturn ĠDatabase . connect ( ĊĠĠĠĠĠĠĠ ĠdataSource ( config . url , Ġconfig . userName , Ġconfig . password ), ĊĠĠĠĠĠĠĠ Ġlogger Ġ= ĠConsole Logger ( logLevel ) ĊĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġrun Ġdatabase Ġmigration ĊĠĠĠĠĠĠĠ Ġmigrate ( clean DB , Ġconfig . url , Ġconfig . userName , Ġconfig . password ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġwithout ĠDataSource Ċ // ĠĠĠĠĠĠĠ Ġreturn ĠDatabase . connect ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġurl , Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġdriver Ġ= Ġdriver , Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġuser Ġ= Ġuser , Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= Ġpassword , Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġlogger Ġ= ĠConsole Logger ( LogLevel . DEBUG ) Ċ // ĠĠĠĠĠĠĠ Ġ) Ċ Ċ }