diff --git a/modules/store/src/main/resources/db/migration/h2/V1.9.3__joblog_counter.sql b/modules/store/src/main/resources/db/migration/h2/V1.9.3__joblog_counter.sql new file mode 100644 index 00000000..4de893d2 --- /dev/null +++ b/modules/store/src/main/resources/db/migration/h2/V1.9.3__joblog_counter.sql @@ -0,0 +1,2 @@ +ALTER TABLE "joblog" +ADD COLUMN "counter" bigint auto_increment; diff --git a/modules/store/src/main/resources/db/migration/mariadb/V1.9.3__joblog_counter.sql b/modules/store/src/main/resources/db/migration/mariadb/V1.9.3__joblog_counter.sql new file mode 100644 index 00000000..c212b397 --- /dev/null +++ b/modules/store/src/main/resources/db/migration/mariadb/V1.9.3__joblog_counter.sql @@ -0,0 +1,2 @@ +ALTER TABLE `joblog` +ADD COLUMN `counter` mediumint auto_increment unique; diff --git a/modules/store/src/main/resources/db/migration/postgresql/V1.9.3__joblog_counter.sql b/modules/store/src/main/resources/db/migration/postgresql/V1.9.3__joblog_counter.sql new file mode 100644 index 00000000..b31c3a23 --- /dev/null +++ b/modules/store/src/main/resources/db/migration/postgresql/V1.9.3__joblog_counter.sql @@ -0,0 +1,2 @@ +ALTER TABLE "joblog" +ADD COLUMN "counter" bigserial; diff --git a/modules/store/src/main/scala/docspell/store/records/RJobLog.scala b/modules/store/src/main/scala/docspell/store/records/RJobLog.scala index 5384df47..546aa5fe 100644 --- a/modules/store/src/main/scala/docspell/store/records/RJobLog.scala +++ b/modules/store/src/main/scala/docspell/store/records/RJobLog.scala @@ -26,6 +26,10 @@ object RJobLog { val created = Column("created") val message = Column("message") val all = List(id, jobId, level, created, message) + + // separate column only for sorting, so not included in `all` and + // the case class + val counter = Column("counter") } import Columns._ @@ -37,7 +41,7 @@ object RJobLog { ).update.run def findLogs(id: Ident): ConnectionIO[Vector[RJobLog]] = - (selectSimple(all, table, jobId.is(id)) ++ orderBy(created.asc)) + (selectSimple(all, table, jobId.is(id)) ++ orderBy(created.asc, counter.asc)) .query[RJobLog] .to[Vector]