Bump mariadb-java-client to 3.0.4 (#3059)

This commit is contained in:
Naoki Takezoe
2022-05-08 21:57:25 +09:00
committed by GitHub
parent 39448f2e3c
commit e214804d57
3 changed files with 19 additions and 4 deletions

View File

@@ -46,7 +46,7 @@ libraryDependencies ++= Seq(
"com.github.takezoe" %% "blocking-slick-32" % "0.0.12" cross CrossVersion.for3Use2_13,
"com.novell.ldap" % "jldap" % "2009-10-07",
"com.h2database" % "h2" % "1.4.199",
"org.mariadb.jdbc" % "mariadb-java-client" % "2.7.5",
"org.mariadb.jdbc" % "mariadb-java-client" % "3.0.4",
"org.postgresql" % "postgresql" % "42.3.5",
"ch.qos.logback" % "logback-classic" % "1.2.11",
"com.zaxxer" % "HikariCP" % "4.0.3" exclude ("org.slf4j", "slf4j-api"),

View File

@@ -38,8 +38,18 @@ object DatabaseConfig {
private lazy val dbUrl = getValue("db.url", config.getString) //config.getString("db.url")
def url(directory: Option[String]): String =
dbUrl.replace("${DatabaseHome}", directory.getOrElse(DatabaseHome))
def url(directory: Option[String]): String = {
val sb = new StringBuilder()
sb.append(dbUrl)
if (dbUrl.startsWith("jdbc:mysql:") && dbUrl.indexOf("permitMysqlScheme") == -1) {
if (dbUrl.indexOf("?") == -1) {
sb.append("?permitMysqlScheme")
} else {
sb.append("&permitMysqlScheme")
}
}
sb.toString().replace("${DatabaseHome}", directory.getOrElse(DatabaseHome))
}
lazy val url: String = url(None)
lazy val user: String = getValue("db.user", config.getString)

View File

@@ -31,6 +31,7 @@ class GitBucketCoreModuleSpec extends AnyFunSuite {
val container = new MySQLContainer() {
override val container = new org.testcontainers.containers.MySQLContainer(s"mysql:$tag") {
override def getDriverClassName = "org.mariadb.jdbc.Driver"
override def getJdbcUrl: String = super.getJdbcUrl + "?permitMysqlScheme"
}
// TODO https://jira.mariadb.org/browse/CONJ-663
container.withCommand("mysqld --default-authentication-plugin=mysql_native_password")
@@ -38,7 +39,11 @@ class GitBucketCoreModuleSpec extends AnyFunSuite {
container.start()
try {
new Solidbase().migrate(
DriverManager.getConnection(s"${container.jdbcUrl}?useSSL=false", container.username, container.password),
DriverManager.getConnection(
container.jdbcUrl,
container.username,
container.password
),
Thread.currentThread().getContextClassLoader(),
new MySQLDatabase(),
new Module(GitBucketCoreModule.getModuleId, GitBucketCoreModule.getVersions)