diff --git a/server/src/main/kotlin/ir/armor/tachidesk/database/DBMangaer.kt b/server/src/main/kotlin/ir/armor/tachidesk/database/DBMangaer.kt index a379647f..d12efb22 100644 --- a/server/src/main/kotlin/ir/armor/tachidesk/database/DBMangaer.kt +++ b/server/src/main/kotlin/ir/armor/tachidesk/database/DBMangaer.kt @@ -23,10 +23,9 @@ object DBMangaer { } fun makeDataBaseTables() { - // mention db object to connect - DBMangaer.db -// val db = DBMangaer.db -// db.useNestedTransactions = true + // must mention db object so the lazy block executes + val db = DBMangaer.db + db.useNestedTransactions = true transaction { SchemaUtils.createMissingTablesAndColumns( diff --git a/server/src/main/kotlin/ir/armor/tachidesk/util/Category.kt b/server/src/main/kotlin/ir/armor/tachidesk/util/Category.kt index 37da061e..ae851b52 100644 --- a/server/src/main/kotlin/ir/armor/tachidesk/util/Category.kt +++ b/server/src/main/kotlin/ir/armor/tachidesk/util/Category.kt @@ -1,6 +1,7 @@ package ir.armor.tachidesk.util import ir.armor.tachidesk.database.dataclass.CategoryDataClass +import ir.armor.tachidesk.database.table.CategoryMangaTable import ir.armor.tachidesk.database.table.CategoryTable import ir.armor.tachidesk.database.table.toDataClass import org.jetbrains.exposed.sql.SortOrder @@ -49,6 +50,9 @@ fun reorderCategory(categoryId: Int, from: Int, to: Int) { fun removeCategory(categoryId: Int) { transaction { + CategoryMangaTable.select { CategoryMangaTable.category eq categoryId }.forEach { + removeMangaFromCategory(it[CategoryMangaTable.manga].value, categoryId) + } CategoryTable.deleteWhere { CategoryTable.id eq categoryId } } }