feat: Slot-basierter Auto-Refresh mit konfigurierbarer Startzeit
Auto-Refresh nutzt jetzt eine feste Anker-Uhrzeit (refresh_start_time) statt reinem Intervall-basiertem Driften. Verpasste Slots werden max. 1x aufgeholt. Bestehendes Intervall-Verhalten bleibt als Fallback erhalten (ohne Startzeit). Migration: Bestehende Auto-Lagen erhalten 07:00 als Startzeit. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
@@ -68,6 +68,7 @@ CREATE TABLE IF NOT EXISTS incidents (
|
||||
type TEXT DEFAULT 'adhoc',
|
||||
refresh_mode TEXT DEFAULT 'manual',
|
||||
refresh_interval INTEGER DEFAULT 15,
|
||||
refresh_start_time TEXT,
|
||||
retention_days INTEGER DEFAULT 0,
|
||||
visibility TEXT DEFAULT 'public',
|
||||
summary TEXT,
|
||||
@@ -362,6 +363,12 @@ async def init_db():
|
||||
await db.commit()
|
||||
logger.info("Migration: tenant_id zu incidents hinzugefuegt")
|
||||
|
||||
if "refresh_start_time" not in columns:
|
||||
await db.execute("ALTER TABLE incidents ADD COLUMN refresh_start_time TEXT")
|
||||
await db.execute("UPDATE incidents SET refresh_start_time = '07:00' WHERE refresh_mode = 'auto'")
|
||||
await db.commit()
|
||||
logger.info("Migration: refresh_start_time zu incidents hinzugefuegt (bestehende Auto-Lagen auf 07:00)")
|
||||
|
||||
# Migration: Token-Spalten fuer refresh_log
|
||||
cursor = await db.execute("PRAGMA table_info(refresh_log)")
|
||||
rl_columns = [row[1] for row in await cursor.fetchall()]
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren