/* Ċ Ġ* ĠCopyright Ġ 2 0 1 2 - 2 0 1 9 Ġthe Ġoriginal Ġauthor Ġor Ġauthors . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġorg . springframework . fu . k of u . fly way Ċ Ċ import Ġorg . springframework . boot . autoconfigure . fly way . Fly way Initializer Ċ import Ġorg . springframework . boot . autoconfigure . fly way . Fly way Migration Initializer Ċ import Ġorg . springframework . boot . autoconfigure . fly way . Fly way Properties Ċ import Ġorg . springframework . boot . autoconfigure . jdbc . DataSource Properties Ċ import Ġorg . springframework . boot . context . event . Application Ready Event Ċ import Ġorg . springframework . context . support . Generic ApplicationContext Ċ import Ġorg . springframework . fu . k of u . Abstract Dsl Ċ import Ġorg . springframework . fu . k of u . Configuration Dsl Ċ Ċ class ĠFly way Dsl ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġinit : ĠFly way Dsl . () Ġ-> ĠUnit , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġfly way Properties : ĠFly way Properties Ċ ): ĠAbstract Dsl () Ġ{ ĊĠĠĠ Ġvar Ġurl : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġfly way Properties . url ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfly way Properties . url Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġuser : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġfly way Properties . user ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfly way Properties . user Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġpassword : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġfly way Properties . password ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfly way Properties . password Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinitialize ( context : ĠGeneric ApplicationContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . initialize ( context ) ĊĠĠĠĠĠĠĠ Ġinit () ĊĠĠĠĠĠĠĠ ĠFly way Initializer ( fly way Properties ). initialize ( context ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠConfigure Ġa Ġ[ Fly way ]( https :// fly way db . org / documentation / api /) Ġdatabase Ġmigration . Ċ Ġ* Ċ Ġ* ĠConfiguration Ġfrom Ġproperties Ġ/ Ġenvironment Ġ( with Ġ" spring . fly way " Ġprefix ) Ġis Ġa Ġstarting Ġpoint Ġfor Ġfurther Ġcustom isation Ġif Ġneeded . Ċ Ġ* Ċ Ġ* ĠRequire Ġ` org . fly way db : fly way - core ` Ġdependency . Ċ Ġ* Ċ Ġ* Ġ@ sample Ġorg . springframework . fu . k of u . samples . fly way Dsl Ċ Ġ* Ġ@ author ĠI van ĠSk ach kov Ċ Ġ*/ Ċ fun ĠConfiguration Dsl . fly way ( dsl : ĠFly way Dsl . () Ġ-> ĠUnit Ġ= Ġ{}) Ġ{ ĊĠĠĠ Ġval Ġfly way Properties Ġ= Ġconfiguration Properties ( prefix Ġ= Ġ" spring . fly way ", Ġdefault Properties Ġ= ĠFly way Properties ()) ĊĠĠĠ Ġval Ġdatasource Properties Ġ= Ġconfiguration Properties ( prefix Ġ= Ġ" spring . datasource ", Ġdefault Properties Ġ= ĠDataSource Properties ()) ĊĠĠĠ Ġfly way Properties . url Ġ= Ġfly way Properties . url Ġ?: Ġdatasource Properties . url ĊĊĠĠĠ ĠFly way Dsl ( dsl , Ġfly way Properties ). initialize ( context ) ĊĊĠĠĠ Ġlistener < Application Ready Event > Ġ{ Ġ// Ġany Ġway Ġto Ġensure Ġrunning ĠFly way Ġbefore Ġother Ġapplication Ġcode Ġ? ĊĠĠĠĠĠĠĠ Ġref < Fly way Migration Initializer >() Ġ// Ġ" after Properties Set " Ġwill Ġbe Ġrun Ġautomatically ĊĠĠĠ Ġ} Ċ } Ċ