Open-source multiplayer game server compatible with the RuneScape client
https://www.openrs2.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
816 B
28 lines
816 B
package org.openrs2.archive
|
|
|
|
import com.zaxxer.hikari.HikariConfig
|
|
import com.zaxxer.hikari.HikariDataSource
|
|
import org.flywaydb.core.Flyway
|
|
import org.postgresql.ds.PGSimpleDataSource
|
|
import javax.inject.Inject
|
|
import javax.inject.Provider
|
|
import javax.sql.DataSource
|
|
|
|
public class DataSourceProvider @Inject constructor(
|
|
private val config: ArchiveConfig
|
|
) : Provider<DataSource> {
|
|
override fun get(): DataSource {
|
|
val dataSource = PGSimpleDataSource()
|
|
dataSource.setUrl(config.databaseUrl)
|
|
|
|
Flyway.configure()
|
|
.dataSource(dataSource)
|
|
.locations("classpath:/org/openrs2/archive/migrations")
|
|
.load()
|
|
.migrate()
|
|
|
|
val config = HikariConfig()
|
|
config.dataSource = dataSource
|
|
return HikariDataSource(config)
|
|
}
|
|
}
|
|
|