SQL
CREATE TABLE sessions (
id TEXT PRIMARY KEY,
-- 32 Bytes hex
kind TEXT NOT NULL,
-- 'trainer' | 'student'
trainer_id INTEGER REFERENCES trainers(id) ON DELETE CASCADE,
student_id INTEGER REFERENCES students(id) ON DELETE CASCADE,
created_at TEXT NOT NULL DEFAULT (datetime('now')),
expires_at TEXT NOT NULL,
last_seen_at TEXT NOT NULL DEFAULT (datetime('now')),
ip TEXT,
user_agent TEXT
)
Columns
| Column | Data type | Allow null | Primary key | Actions |
|---|---|---|---|---|
id |
TEXT |
✓ | ✓ | Rename | Drop |
kind |
TEXT |
Rename | Drop | ||
trainer_id |
INTEGER |
✓ | Rename | Drop | |
student_id |
INTEGER |
✓ | Rename | Drop | |
created_at |
TEXT |
Rename | Drop | ||
expires_at |
TEXT |
Rename | Drop | ||
last_seen_at |
TEXT |
Rename | Drop | ||
ip |
TEXT |
✓ | Rename | Drop | |
user_agent |
TEXT |
✓ | Rename | Drop |
Foreign Keys
| Column | Destination |
|---|---|
student_id |
students.id |
trainer_id |
trainers.id |
Indexes
| Name | Columns | Unique | SQL | Drop? |
|---|---|---|---|---|
| idx_sessions_expires |
expires_at
|
SQL | Drop | |
| idx_sessions_student |
student_id
|
SQL | Drop | |
| idx_sessions_trainer |
trainer_id
|
SQL | Drop | |
| sqlite_autoindex_sessions_1 |
id
|
✓ | SQL | Drop |