SQL
CREATE TABLE "assignment_items" (
id TEXT PRIMARY KEY,
assignment_id TEXT NOT NULL REFERENCES assignments(id) ON DELETE CASCADE,
child_id TEXT NOT NULL,
subject TEXT NOT NULL DEFAULT '',
item_type TEXT NOT NULL CHECK(item_type IN ('exam','copy','recite','dictation','other','major')),
title TEXT DEFAULT '',
description TEXT DEFAULT '',
content TEXT DEFAULT '',
media_urls TEXT DEFAULT '[]',
supplement_urls TEXT DEFAULT '[]',
expected_answer TEXT DEFAULT '',
status TEXT DEFAULT 'pending'
CHECK(status IN ('pending','submitted','corrected')),
sort_order INTEGER DEFAULT 0,
parent_id TEXT DEFAULT NULL,
created_at DATETIME DEFAULT (datetime('now')),
updated_at DATETIME DEFAULT (datetime('now')),
group_id TEXT DEFAULT NULL
)
Columns
| Column | Data type | Allow null | Primary key | Actions |
|---|---|---|---|---|
id |
TEXT |
✓ | ✓ | Rename | Drop |
assignment_id |
TEXT |
Rename | Drop | ||
child_id |
TEXT |
Rename | Drop | ||
subject |
TEXT |
Rename | Drop | ||
item_type |
TEXT |
Rename | Drop | ||
title |
TEXT |
✓ | Rename | Drop | |
description |
TEXT |
✓ | Rename | Drop | |
content |
TEXT |
✓ | Rename | Drop | |
media_urls |
TEXT |
✓ | Rename | Drop | |
supplement_urls |
TEXT |
✓ | Rename | Drop | |
expected_answer |
TEXT |
✓ | Rename | Drop | |
status |
TEXT |
✓ | Rename | Drop | |
sort_order |
INTEGER |
✓ | Rename | Drop | |
parent_id |
TEXT |
✓ | Rename | Drop | |
created_at |
DATETIME |
✓ | Rename | Drop | |
updated_at |
DATETIME |
✓ | Rename | Drop | |
group_id |
TEXT |
✓ | Rename | Drop |
Foreign Keys
| Column | Destination |
|---|---|
assignment_id |
assignments.id |
Indexes
| Name | Columns | Unique | SQL | Drop? |
|---|---|---|---|---|
| idx_item_assignment |
assignment_id
|
SQL | Drop | |
| idx_item_child |
child_id
|
SQL | Drop | |
| idx_item_subject |
subject
|
SQL | Drop | |
| sqlite_autoindex_assignment_items_1 |
id
|
✓ | SQL | Drop |