SQL
CREATE TABLE conversation_compaction (
thread_id TEXT PRIMARY KEY,
version TEXT NOT NULL DEFAULT 'v1',
compacted_until_turn_id TEXT,
compacted_turn_count INTEGER NOT NULL DEFAULT 0,
summary_text TEXT,
summary_json TEXT,
updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
FOREIGN KEY (compacted_until_turn_id) REFERENCES conversation_turns(id) ON DELETE SET NULL DEFERRABLE INITIALLY DEFERRED
)
Columns
| Column | Data type | Allow null | Primary key | Actions |
|---|---|---|---|---|
thread_id |
TEXT |
✓ | ✓ | Rename | Drop |
version |
TEXT |
Rename | Drop | ||
compacted_until_turn_id |
TEXT |
✓ | Rename | Drop | |
compacted_turn_count |
INTEGER |
Rename | Drop | ||
summary_text |
TEXT |
✓ | Rename | Drop | |
summary_json |
TEXT |
✓ | Rename | Drop | |
updated_at |
TEXT |
Rename | Drop |
Foreign Keys
| Column | Destination |
|---|---|
compacted_until_turn_id |
conversation_turns.id |
Indexes
| Name | Columns | Unique | SQL | Drop? |
|---|---|---|---|---|
| idx_conversation_compaction_updated |
updated_at
|
SQL | Drop | |
| sqlite_autoindex_conversation_compaction_1 |
thread_id
|
✓ | SQL | Drop |