mirror of
https://gitlab.com/mangadex-pub/mangadex_at_home.git
synced 2024-01-19 02:48:37 +00:00
Bump deps and remove migrator
This commit is contained in:
parent
8178f1b0d6
commit
8711e55815
21
build.gradle
21
build.gradle
|
@ -25,39 +25,36 @@ configurations {
|
|||
dependencies {
|
||||
compileOnly group: "dev.afanasev", name: "sekret-annotation", version: "0.0.7"
|
||||
|
||||
implementation group: "commons-io", name: "commons-io", version: "2.7"
|
||||
implementation group: "commons-io", name: "commons-io", version: "2.8.0"
|
||||
implementation group: "org.apache.commons", name: "commons-compress", version: "1.20"
|
||||
implementation group: "ch.qos.logback", name: "logback-classic", version: "1.3.0-alpha4"
|
||||
|
||||
implementation group: "io.micrometer", name: "micrometer-registry-prometheus", version: "1.6.2"
|
||||
implementation group: "com.maxmind.geoip2", name: "geoip2", version: "2.15.0"
|
||||
|
||||
implementation group: "org.http4k", name: "http4k-bom", version: "4.3.5.4"
|
||||
|
||||
implementation platform(group: "org.http4k", name: "http4k-bom", version: "4.3.5.4")
|
||||
|
||||
implementation platform(group: "com.fasterxml.jackson", name: "jackson-bom", version: "2.12.1")
|
||||
implementation group: "org.http4k", name: "http4k-core"
|
||||
implementation group: "org.http4k", name: "http4k-resilience4j"
|
||||
implementation group: "io.github.resilience4j", name: "resilience4j-micrometer", version: "1.6.1"
|
||||
implementation group: "org.http4k", name: "http4k-format-jackson"
|
||||
implementation group: "com.fasterxml.jackson.dataformat", name: "jackson-dataformat-yaml", version: "2.12.1"
|
||||
implementation group: "com.fasterxml.jackson.datatype", name: "jackson-datatype-jsr310", version: "2.12.1"
|
||||
implementation group: "com.fasterxml.jackson.dataformat", name: "jackson-dataformat-yaml"
|
||||
implementation group: "com.fasterxml.jackson.datatype", name: "jackson-datatype-jsr310"
|
||||
implementation group: "org.http4k", name: "http4k-client-okhttp"
|
||||
implementation group: "org.http4k", name: "http4k-metrics-micrometer"
|
||||
implementation group: "org.http4k", name: "http4k-server-netty"
|
||||
implementation group: "io.netty", name: "netty-transport-native-epoll", version: "4.1.58.Final", classifier: "linux-x86_64"
|
||||
implementation group: "io.netty", name: "netty-transport-native-epoll", version: "4.1.59.Final", classifier: "linux-x86_64"
|
||||
implementation group: "io.netty.incubator", name: "netty-incubator-transport-native-io_uring", version: "0.0.3.Final", classifier: "linux-x86_64"
|
||||
testImplementation group: "org.http4k", name: "http4k-testing-kotest"
|
||||
runtimeOnly group: "io.netty", name: "netty-tcnative-boringssl-static", version: "2.0.34.Final"
|
||||
runtimeOnly group: "io.netty", name: "netty-tcnative-boringssl-static", version: "2.0.36.Final"
|
||||
|
||||
implementation group: 'com.zaxxer', name: 'HikariCP', version: '4.0.1'
|
||||
implementation group: "com.h2database", name: "h2", version: "1.4.200"
|
||||
implementation group: 'com.zaxxer', name: 'HikariCP', version: '4.0.2'
|
||||
implementation group: 'org.xerial', name: 'sqlite-jdbc', version: '3.34.0'
|
||||
implementation "org.ktorm:ktorm-core:$ktorm_version"
|
||||
implementation "org.ktorm:ktorm-jackson:$ktorm_version"
|
||||
|
||||
implementation "info.picocli:picocli:4.5.0"
|
||||
kapt "info.picocli:picocli-codegen:4.5.0"
|
||||
implementation "info.picocli:picocli:$picocli_version"
|
||||
kapt "info.picocli:picocli-codegen:$picocli_version"
|
||||
|
||||
testImplementation "io.kotest:kotest-runner-junit5:$kotest_version"
|
||||
testImplementation "io.kotest:kotest-assertions-core:$kotest_version"
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
http_4k_version=4.3.0.0
|
||||
kotest_version=4.4.1
|
||||
ktorm_version=3.2.0
|
||||
ktorm_version=3.3.0
|
||||
picocli_version=4.6.1
|
|
@ -97,8 +97,6 @@ class Main : Runnable {
|
|||
throw IllegalArgumentException("Cache folder $cacheFolder must be a directory")
|
||||
}
|
||||
|
||||
migrate(databaseFolder)
|
||||
|
||||
val client = MangaDexClient(settingsFile, databaseFolder, cacheFolder)
|
||||
val hook = Thread {
|
||||
client.shutdown()
|
||||
|
|
|
@ -1,75 +0,0 @@
|
|||
/*
|
||||
Mangadex@Home
|
||||
Copyright (c) 2020, MangaDex Network
|
||||
This file is part of MangaDex@Home.
|
||||
|
||||
MangaDex@Home is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
MangaDex@Home is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this MangaDex@Home. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package mdnet
|
||||
|
||||
import mdnet.cache.DbImage
|
||||
import mdnet.cache.INIT_TABLE
|
||||
import org.ktorm.database.Database
|
||||
import org.ktorm.dsl.*
|
||||
import java.nio.file.Files
|
||||
import java.nio.file.Path
|
||||
import java.nio.file.Paths
|
||||
|
||||
fun main() {
|
||||
migrate(Paths.get("./"))
|
||||
}
|
||||
|
||||
fun migrate(path: Path) {
|
||||
val h2file = path.resolve("metadata.mv.db")
|
||||
if (!Files.exists(h2file)) {
|
||||
return
|
||||
}
|
||||
|
||||
println("Migrating database - this may take a long time")
|
||||
|
||||
Class.forName("org.sqlite.JDBC")
|
||||
|
||||
val sqliteDb = path.resolve("metadata.db")
|
||||
Files.deleteIfExists(sqliteDb)
|
||||
|
||||
val sqlite = Database.connect("jdbc:sqlite:$sqliteDb")
|
||||
sqlite.useConnection { conn ->
|
||||
conn.prepareStatement(INIT_TABLE).use {
|
||||
it.execute()
|
||||
}
|
||||
}
|
||||
|
||||
val db = path.resolve("metadata")
|
||||
|
||||
val h2 = Database.connect("jdbc:h2:$db")
|
||||
h2.useConnection { conn ->
|
||||
conn.prepareStatement(INIT_TABLE).use {
|
||||
it.execute()
|
||||
}
|
||||
}
|
||||
|
||||
h2.from(DbImage).select().asIterable().chunked(1000).forEach { list ->
|
||||
sqlite.batchInsert(DbImage) {
|
||||
for (data in list) {
|
||||
item {
|
||||
set(DbImage.id, data[DbImage.id])
|
||||
set(DbImage.accessed, data[DbImage.accessed])
|
||||
set(DbImage.size, data[DbImage.size])
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Files.move(h2file, path.resolve("metadata.mv.db.old"))
|
||||
}
|
Loading…
Reference in a new issue