From 9c80e0d77c64eac4fb08164fbef0ec8f6c11e70c Mon Sep 17 00:00:00 2001 From: Stephan Richter Date: Wed, 22 Apr 2026 08:24:54 +0200 Subject: [PATCH] preparing for journal with timestamps Signed-off-by: Stephan Richter --- .../srsoftware/umbrella/journal/SqliteDb.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/journal/src/main/java/de/srsoftware/umbrella/journal/SqliteDb.java b/journal/src/main/java/de/srsoftware/umbrella/journal/SqliteDb.java index 7c275965..ef9f433f 100644 --- a/journal/src/main/java/de/srsoftware/umbrella/journal/SqliteDb.java +++ b/journal/src/main/java/de/srsoftware/umbrella/journal/SqliteDb.java @@ -12,6 +12,8 @@ import de.srsoftware.umbrella.core.BaseDb; import de.srsoftware.umbrella.messagebus.events.Event; import java.sql.Connection; import java.sql.SQLException; +import java.time.LocalDateTime; +import java.time.ZoneOffset; public class SqliteDb extends BaseDb implements JournalDb{ public SqliteDb(Connection connection) { @@ -32,13 +34,14 @@ public class SqliteDb extends BaseDb implements JournalDb{ var sql = """ CREATE TABLE IF NOT EXISTS {0} ( {1} INTEGER PRIMARY KEY, - {2} INTEGER, - {3} VARCHAR(255) NOT NULL, - {4} VARCHAR(16) NOT NULL, - {5} TEXT + {2} LONG NOT NULL, + {3} INTEGER, + {4} VARCHAR(255) NOT NULL, + {5} VARCHAR(16) NOT NULL, + {6} TEXT ); """; - sql = format(sql,TABLE_JOURNAL,ID,USER_ID,MODULE,ACTION,DESCRIPTION); + sql = format(sql,TABLE_JOURNAL,ID,TIMESTAMP,USER_ID,MODULE,ACTION,DESCRIPTION); try { db.prepareStatement(sql).execute(); } catch (SQLException e) { @@ -49,8 +52,9 @@ public class SqliteDb extends BaseDb implements JournalDb{ @Override public void logEvent(Event event) { try { - insertInto(TABLE_JOURNAL,USER_ID,MODULE,ACTION,DESCRIPTION) - .values(event.initiator().id(), event.module(), event.eventType(), event.describe()) + var timestamp = LocalDateTime.now().toEpochSecond(ZoneOffset.UTC); + insertInto(TABLE_JOURNAL,TIMESTAMP,USER_ID,MODULE,ACTION,DESCRIPTION) + .values(timestamp,event.initiator().id(), event.module(), event.eventType(), event.describe()) .execute(db).close(); } catch (SQLException e) { throw databaseException(ERROR_WRITE_EVENT,event.eventType(),event.initiator().name());