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) |
|
} |
|
}
|
|
|