SQL
CREATE TABLE memories (
id INTEGER PRIMARY KEY AUTOINCREMENT,
content TEXT NOT NULL,
source TEXT NOT NULL DEFAULT 'user',
source_context TEXT,
tags TEXT DEFAULT '[]',
importance REAL DEFAULT 0.5,
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
frame_id INTEGER REFERENCES frames(id) ON DELETE SET NULL
)
Columns
| Column |
Data type |
Allow null |
Primary key |
Actions |
id |
INTEGER |
✓ |
✓ |
read-only
|
content |
TEXT |
|
|
read-only
|
source |
TEXT |
|
|
read-only
|
source_context |
TEXT |
✓ |
|
read-only
|
tags |
TEXT |
✓ |
|
read-only
|
importance |
REAL |
✓ |
|
read-only
|
created_at |
TEXT |
|
|
read-only
|
updated_at |
TEXT |
|
|
read-only
|
frame_id |
INTEGER |
✓ |
|
read-only
|
Foreign Keys
| Column |
Destination |
frame_id |
frames.id |
Indexes
| Name |
Columns |
Unique |
SQL |
Drop? |
| idx_memories_created_at |
created_at
|
|
SQL
CREATE INDEX idx_memories_created_at
ON memories(created_at)
|
read-only
|
| idx_memories_frame_id |
frame_id
|
|
SQL
CREATE INDEX idx_memories_frame_id
ON memories(frame_id)
|
read-only
|
| idx_memories_importance |
importance
|
|
SQL
CREATE INDEX idx_memories_importance
ON memories(importance DESC)
|
read-only
|
| idx_memories_source |
source
|
|
SQL
CREATE INDEX idx_memories_source
ON memories(source)
|
read-only
|
Triggers
| Name |
SQL |
Drop? |
| memories_ai |
SQL
CREATE TRIGGER memories_ai AFTER INSERT ON memories
WHEN NEW.content IS NOT NULL AND NEW.content != ''
BEGIN
INSERT INTO memories_fts(rowid, content, tags)
VALUES (NEW.id, NEW.content, COALESCE(NEW.tags, ''));
END
|
read-only
|
| memories_ad |
SQL
CREATE TRIGGER memories_ad AFTER DELETE ON memories
WHEN OLD.content IS NOT NULL AND OLD.content != ''
BEGIN
INSERT INTO memories_fts(memories_fts, rowid, content, tags)
VALUES ('delete', OLD.id, OLD.content, COALESCE(OLD.tags, ''));
END
|
read-only
|
| memories_au |
SQL
CREATE TRIGGER memories_au AFTER UPDATE ON memories
WHEN OLD.content IS NOT NULL AND OLD.content != ''
BEGIN
INSERT INTO memories_fts(memories_fts, rowid, content, tags)
VALUES ('delete', OLD.id, OLD.content, COALESCE(OLD.tags, ''));
INSERT INTO memories_fts(rowid, content, tags)
VALUES (NEW.id, COALESCE(NEW.content, ''), COALESCE(NEW.tags, ''));
END
|
read-only
|