diff --git a/scripts/api.py b/scripts/api.py index 67fdba2..bd4415a 100644 --- a/scripts/api.py +++ b/scripts/api.py @@ -124,6 +124,7 @@ SESSIONS_DB = str(Path.home() / "aaronai" / "sessions.db") def _init_sessions(): conn = sqlite3.connect(SESSIONS_DB) conn.execute("CREATE TABLE IF NOT EXISTS sessions (token TEXT PRIMARY KEY, created_at TEXT)") + conn.execute("PRAGMA journal_mode=WAL") conn.commit() conn.close() @@ -182,6 +183,8 @@ def init_conversations_db(): timestamp TEXT NOT NULL, FOREIGN KEY (conversation_id) REFERENCES conversations(id) )''') + c.execute("PRAGMA journal_mode=WAL") + c.execute("CREATE INDEX IF NOT EXISTS idx_messages_conv_ts ON messages(conversation_id, timestamp DESC)") conn.commit() conn.close() diff --git a/scripts/backup.sh b/scripts/backup.sh index 81cd736..6a51cbb 100755 --- a/scripts/backup.sh +++ b/scripts/backup.sh @@ -6,7 +6,7 @@ mkdir -p "$BACKUP_DIR" # Copy critical files cp ~/aaronai/memory.md "$BACKUP_DIR/memory-$DATE.md" cp ~/aaronai/settings.json "$BACKUP_DIR/settings-$DATE.json" -cp ~/aaronai/conversations.db "$BACKUP_DIR/conversations-$DATE.db" +python3 -c "import sqlite3, sys; src = sqlite3.connect('$HOME/aaronai/conversations.db'); dst = sqlite3.connect('$BACKUP_DIR/conversations-$DATE.db'); src.backup(dst); dst.close(); src.close()" # Keep only last 7 days find "$BACKUP_DIR" -name "*.md" -mtime +7 -delete