package Ġcom . pr ave ga . backend . configuration Ċ Ċ import Ġorg . springframework . boot . jdbc . DataSource Builder Ċ import Ġorg . springframework . context . annotation . Bean Ċ import Ġorg . springframework . context . annotation . Configuration Ċ import Ġjavax . sql . DataSource ĊĊ Ċ // ĠNeed Ġdifferent Ġparams Ġon ĠHeroku . Ċ // ĠAlso Ġget Ġfrom Ġenvironment Ġvariables . Ċ @ Configuration Ċ class ĠDataSource Configuration Ġ{ ĊĊĠĠĠ Ġfun Ġget Env ( value : ĠString , ĠdefaultValue : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġres Ġ= ĠSystem . getenv ( value ); ĊĠĠĠĠĠĠĠ Ġif Ġ( res Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġres ; ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠdefaultValue ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġcredential ( type : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" url " Ġ-> Ġget Env (" JDBC _ DATABASE _ URL ", Ġ" jdbc : pgsql :// localhost : 5 4 3 2 / dev "). replace (" jdbc : postgresql ", Ġ" jdbc : pgsql ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" username " Ġ-> Ġget Env (" JDBC _ DATABASE _ USERNAME ", Ġ" postgres ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" password " Ġ-> Ġget Env (" JDBC _ DATABASE _ PASSWORD ", Ġ" postgres ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ" ERROR _ TYPE " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Bean ĊĠĠĠ Ġfun ĠdataSource (): ĠDataSource Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠDataSource Builder . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. driver ClassName (" com . imp oss ib l . postgres . jdbc . PG Driver ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. url ( credential (" url ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. username ( credential (" username ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. password ( credential (" password ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (); ĊĠĠĠ Ġ} Ċ }