Skip to content

Commit

Permalink
* new driver for sqlite db
Browse files Browse the repository at this point in the history
* fix selecting from Journals
* change db extension to *.db
  • Loading branch information
melod1n committed Mar 27, 2024
1 parent 64aaea7 commit 02887e3
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 25 deletions.
4 changes: 3 additions & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,10 @@ dependencies {
implementation("io.insert-koin:koin-core")
implementation("io.insert-koin:koin-ktor")
implementation("io.insert-koin:koin-logger-slf4j")

implementation("org.xerial:sqlite-jdbc:3.45.0.0")
}

kotlin {
jvmToolchain(8)
jvmToolchain(19)
}
4 changes: 3 additions & 1 deletion src/main/kotlin/com/meloda/kubsau/Application.kt
Original file line number Diff line number Diff line change
Expand Up @@ -482,7 +482,9 @@ private fun Application.createDummyJournalEntries() {

journalsDao.apply {
runBlocking {
if (allJournals().size < 10) {
val journals = journalsDao.allJournals()

if (journals.size < 10) {
println("Creating dummy journal entries...")

val time = measureTimeMillis {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,15 @@ import org.jetbrains.exposed.sql.transactions.transaction
object DatabaseController {

fun init() {
val driverClassName = "org.h2.Driver"
val driverClassName = "org.sqlite.JDBC"

val filePath = if (isInDocker) {
"/config/db/database.sql"
"/config/db/database.db"
} else {
"${System.getProperty("user.dir")}/database.sql"
"${System.getProperty("user.dir")}/database.db"
}

val jdbcURL = "jdbc:h2:file:$filePath"
val jdbcURL = "jdbc:sqlite:$filePath"

val database = Database.connect(jdbcURL, driverClassName)
transaction(database) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,31 +7,28 @@ import com.meloda.kubsau.database.students.Students
import com.meloda.kubsau.database.teachers.Teachers
import com.meloda.kubsau.database.works.Works
import com.meloda.kubsau.model.Journal
import org.jetbrains.exposed.sql.ResultRow
import org.jetbrains.exposed.sql.*
import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq
import org.jetbrains.exposed.sql.deleteWhere
import org.jetbrains.exposed.sql.insert
import org.jetbrains.exposed.sql.selectAll

class JournalsDaoImpl : JournalsDao {
override suspend fun allJournals(): List<Journal> = dbQuery {
Journals
.innerJoin(Groups)
.crossJoin(Students)
.innerJoin(Disciplines)
.innerJoin(Teachers)
.innerJoin(Works)
.innerJoin(Students, { studentId }, { Students.id })
.innerJoin(Groups, { Journals.groupId }, { Groups.id })
.innerJoin(Disciplines, { Journals.disciplineId }, { Disciplines.id })
.innerJoin(Teachers, { Journals.teacherId }, { Teachers.id })
.innerJoin(Works, { Journals.workId }, { Works.id })
.selectAll()
.map(::mapResultRow)
}

override suspend fun singleJournal(journalId: Int): Journal? = dbQuery {
Journals
.innerJoin(Groups)
.innerJoin(Students)
.innerJoin(Disciplines)
.innerJoin(Teachers)
.innerJoin(Works)
.innerJoin(Students, { studentId }, { Students.id })
.innerJoin(Groups, { Journals.groupId }, { Groups.id })
.innerJoin(Disciplines, { Journals.disciplineId }, { Disciplines.id })
.innerJoin(Teachers, { Journals.teacherId }, { Teachers.id })
.innerJoin(Works, { Journals.workId }, { Works.id })
.selectAll()
.where { Journals.id eq journalId }
.map(::mapResultRow)
Expand All @@ -48,11 +45,11 @@ class JournalsDaoImpl : JournalsDao {
): List<Journal> = dbQuery {
// TODO: 17/03/2024, Danil Nikolaev: filter in db, not in code
Journals
.innerJoin(Groups)
.innerJoin(Students)
.innerJoin(Disciplines)
.innerJoin(Teachers)
.innerJoin(Works)
.innerJoin(Students, { Journals.studentId }, { Students.id })
.innerJoin(Groups, { Journals.groupId }, { Groups.id })
.innerJoin(Disciplines, { Journals.disciplineId }, { Disciplines.id })
.innerJoin(Teachers, { Journals.teacherId }, { Teachers.id })
.innerJoin(Works, { Journals.workId }, { Works.id })
.selectAll()
.map(::mapResultRow)
.filter { item ->
Expand Down

0 comments on commit 02887e3

Please sign in to comment.