PRAGMA foreign_keys = on;

create table tasks (
    id blob primary key,
    name text unique not null,
    -- TODO: multiple crons?
    cron text,
    archived integer not null default 0,
    description text
);

create table categories (
    id blob primary key,
    name text unique not null
);

create table tasks_categories (
    task_id blob not null,
    category_id blob not null,
    foreign key(task_id) references tasks(id) on delete cascade,
    foreign key(category_id) references categories(id) on delete cascade
);

create table log (
    id blob primary key,
    task_id blob not null,
    timestamp text not null,
    foreign key(task_id) references tasks(id) on delete cascade
);

create table reminders (
    id blob primary key,
    task_id blob not null,
    time_delta text not null,
    foreign key(task_id) references tasks(id) on delete cascade
);
