Retain session

This commit is contained in:
2025-12-29 14:29:24 +01:00
parent 87c6673375
commit 23938b61dd

View File

@@ -23,19 +23,27 @@ public class SchemaMigration implements ApplicationRunner {
@Override @Override
public void run(ApplicationArguments args) { public void run(ApplicationArguments args) {
cleanupSpringSessionTables(); ensureSessionAttributeUpsertTrigger();
ensureChannelCanvasColumns(); ensureChannelCanvasColumns();
ensureAssetMediaColumns(); ensureAssetMediaColumns();
} }
private void cleanupSpringSessionTables() { private void ensureSessionAttributeUpsertTrigger() {
// try { try {
// jdbcTemplate.execute("DELETE FROM SPRING_SESSION_ATTRIBUTES"); jdbcTemplate.execute("""
// jdbcTemplate.execute("DELETE FROM SPRING_SESSION"); CREATE TRIGGER IF NOT EXISTS SPRING_SESSION_ATTRIBUTES_UPSERT
// logger.info("Cleared persisted Spring Session tables on startup to avoid stale session conflicts"); BEFORE INSERT ON SPRING_SESSION_ATTRIBUTES
// } catch (DataAccessException ex) { FOR EACH ROW
// logger.debug("Spring Session tables not available for cleanup", ex); BEGIN
// } DELETE FROM SPRING_SESSION_ATTRIBUTES
WHERE SESSION_PRIMARY_ID = NEW.SESSION_PRIMARY_ID
AND ATTRIBUTE_NAME = NEW.ATTRIBUTE_NAME;
END;
""");
logger.info("Ensured SPRING_SESSION_ATTRIBUTES upsert trigger exists");
} catch (DataAccessException ex) {
logger.warn("Unable to ensure SPRING_SESSION_ATTRIBUTES upsert trigger", ex);
}
} }
private void ensureChannelCanvasColumns() { private void ensureChannelCanvasColumns() {
@@ -94,4 +102,3 @@ public class SchemaMigration implements ApplicationRunner {
} }
} }
} }