diff --git a/shared/database/src/main/kotlin/no/iktdev/mediaprocessing/shared/database/DatabaseTypes.kt b/shared/database/src/main/kotlin/no/iktdev/mediaprocessing/shared/database/DatabaseTypes.kt index b742f8d7..0bd25187 100644 --- a/shared/database/src/main/kotlin/no/iktdev/mediaprocessing/shared/database/DatabaseTypes.kt +++ b/shared/database/src/main/kotlin/no/iktdev/mediaprocessing/shared/database/DatabaseTypes.kt @@ -1,5 +1,11 @@ package no.iktdev.mediaprocessing.shared.database +import org.jetbrains.exposed.sql.TextColumnType + enum class DatabaseTypes { MySQL, PostgreSQL, SQLite, H2 -} \ No newline at end of file +} + +class LongTextColumnType : TextColumnType() { + override fun sqlType(): String = "LONGTEXT" +} diff --git a/shared/database/src/main/kotlin/no/iktdev/mediaprocessing/shared/database/tables/EventsTable.kt b/shared/database/src/main/kotlin/no/iktdev/mediaprocessing/shared/database/tables/EventsTable.kt index aa7bfa3d..ec48aec2 100644 --- a/shared/database/src/main/kotlin/no/iktdev/mediaprocessing/shared/database/tables/EventsTable.kt +++ b/shared/database/src/main/kotlin/no/iktdev/mediaprocessing/shared/database/tables/EventsTable.kt @@ -1,6 +1,7 @@ package no.iktdev.mediaprocessing.shared.database.tables import no.iktdev.mediaprocessing.shared.common.UtcNow +import no.iktdev.mediaprocessing.shared.database.LongTextColumnType import org.jetbrains.exposed.dao.id.IntIdTable import org.jetbrains.exposed.sql.Column import org.jetbrains.exposed.sql.javatime.timestamp @@ -9,7 +10,7 @@ object EventsTable: IntIdTable(name = "EVENTS") { val referenceId: Column = varchar("REFERENCE_ID", 36) val eventId: Column = varchar("EVENT_ID", 36) val event: Column = varchar("EVENT",100) - val data: Column = text("DATA") + val data = registerColumn("data", LongTextColumnType()) val persistedAt = timestamp("PERSISTED_AT") .clientDefault { UtcNow() } diff --git a/shared/database/src/main/kotlin/no/iktdev/mediaprocessing/shared/database/tables/TasksTable.kt b/shared/database/src/main/kotlin/no/iktdev/mediaprocessing/shared/database/tables/TasksTable.kt index 5e2463e7..c01ca27b 100644 --- a/shared/database/src/main/kotlin/no/iktdev/mediaprocessing/shared/database/tables/TasksTable.kt +++ b/shared/database/src/main/kotlin/no/iktdev/mediaprocessing/shared/database/tables/TasksTable.kt @@ -2,6 +2,7 @@ package no.iktdev.mediaprocessing.shared.database.tables import no.iktdev.eventi.models.store.TaskStatus import no.iktdev.mediaprocessing.shared.common.UtcNow +import no.iktdev.mediaprocessing.shared.database.LongTextColumnType import org.jetbrains.exposed.dao.id.IntIdTable import org.jetbrains.exposed.sql.Column import org.jetbrains.exposed.sql.javatime.timestamp @@ -12,7 +13,7 @@ object TasksTable: IntIdTable(name = "TASKS") { val taskId: Column = varchar("TASK_ID", 36) val task: Column = varchar("TASK",100) val status: Column = enumerationByName("STATUS", 50, TaskStatus::class).default(TaskStatus.Pending) - val data: Column = text("DATA") + val data = registerColumn("data", LongTextColumnType()) val claimed: Column = bool("CLAIMED").default(false) val claimedBy: Column = varchar("CLAIMED_BY",100).nullable() val consumed: Column = bool("CONSUMED").default(false) diff --git a/shared/database/src/main/resources/flyway/V1__create_events_table.sql b/shared/database/src/main/resources/flyway/V1__create_events_table.sql index 024619d3..c9e376f3 100644 --- a/shared/database/src/main/resources/flyway/V1__create_events_table.sql +++ b/shared/database/src/main/resources/flyway/V1__create_events_table.sql @@ -4,7 +4,7 @@ CREATE TABLE EVENTS REFERENCE_ID CHAR(36) NOT NULL, EVENT_ID CHAR(36) NOT NULL, EVENT VARCHAR(100) NOT NULL, - DATA TEXT NOT NULL, +DATA LONGTEXT NOT NULL, PERSISTED_AT TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (ID), diff --git a/shared/database/src/main/resources/flyway/V2__create_tasks_table.sql b/shared/database/src/main/resources/flyway/V2__create_tasks_table.sql index fcf3dfc8..5bbca0a6 100644 --- a/shared/database/src/main/resources/flyway/V2__create_tasks_table.sql +++ b/shared/database/src/main/resources/flyway/V2__create_tasks_table.sql @@ -5,7 +5,7 @@ CREATE TABLE TASKS TASK_ID CHAR(36) NOT NULL, TASK VARCHAR(100) NOT NULL, STATUS VARCHAR(50) NOT NULL, - DATA TEXT NOT NULL, + DATA LONGTEXT NOT NULL, CLAIMED BOOLEAN NOT NULL DEFAULT FALSE, CLAIMED_BY VARCHAR(100), CONSUMED BOOLEAN NOT NULL DEFAULT FALSE,