Шаг 016. Создаем журнал работы с задачами

sqlГлава 1. Создаем схему SEO Data Hub

Что делаем

Создаем журнал работы с задачами

Зачем SEO-специалисту

Журнал показывает историю изменений: кто и когда поменял статус задачи.

Код. Вставьте 1 в 1

CREATE TABLE task_log (
    log_id INTEGER PRIMARY KEY,
    task_id INTEGER NOT NULL,
    old_status TEXT,
    new_status TEXT NOT NULL,
    changed_at TEXT NOT NULL,
    note TEXT,
    FOREIGN KEY (task_id) REFERENCES seo_tasks(task_id)
);

Построчный разбор: что делает, для чего и как работает

Строка 1: CREATE TABLE task_log ( — Создает новую таблицу и начинает описание ее колонок.
Строка 2: log_id INTEGER PRIMARY KEY, — Создает колонку log_id: уникальный числовой идентификатор строки.
Строка 3: task_id INTEGER NOT NULL, — Создает обязательную числовую колонку task_id; она нужна для счетчиков, статусов или связей.
Строка 4: old_status TEXT, — Создает текстовую колонку old_status; в ней можно хранить URL, title, анкор или описание.
Строка 5: new_status TEXT NOT NULL, — Создает обязательную текстовую колонку new_status; пустое NULL-значение запрещено.
Строка 6: changed_at TEXT NOT NULL, — Создает обязательную текстовую колонку changed_at; пустое NULL-значение запрещено.
Строка 7: note TEXT, — Создает текстовую колонку note; в ней можно хранить URL, title, анкор или описание.
Строка 8: FOREIGN KEY (task_id) REFERENCES seo_tasks(task_id) — Создает внешний ключ: эта колонка должна ссылаться на существующую строку в другой таблице.
Строка 9: ); — Закрывает текущую SQL-конструкцию и завершает команду точкой с запятой.

Что должно получиться

Появится таблица task_log для истории статусов задач.

Если появилась ошибка

Проверьте, что вы работаете в файле seo_lab_from_zero.db, скопировали блок полностью и не потеряли точку с запятой в конце SQL-команды.