37 lines
1.3 KiB
SQL
37 lines
1.3 KiB
SQL
CREATE TABLE IF NOT EXISTS categories (
|
|
id TEXT PRIMARY KEY,
|
|
name TEXT NOT NULL,
|
|
color TEXT NOT NULL DEFAULT '#6b7280',
|
|
icon TEXT NOT NULL DEFAULT '📌',
|
|
sort_order INTEGER NOT NULL DEFAULT 0,
|
|
deleted INTEGER NOT NULL DEFAULT 0,
|
|
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS events (
|
|
id TEXT PRIMARY KEY,
|
|
title TEXT NOT NULL,
|
|
description TEXT NOT NULL DEFAULT '',
|
|
start TEXT NOT NULL,
|
|
end TEXT NOT NULL,
|
|
all_day INTEGER NOT NULL DEFAULT 0,
|
|
category_id TEXT REFERENCES categories(id),
|
|
color TEXT NOT NULL DEFAULT '#6b7280',
|
|
node_id TEXT,
|
|
link_type TEXT DEFAULT 'node',
|
|
recurring_rule TEXT,
|
|
reminder_minutes TEXT DEFAULT '[]',
|
|
completed INTEGER NOT NULL DEFAULT 0,
|
|
completed_at TEXT,
|
|
source_series TEXT,
|
|
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_events_start ON events(start);
|
|
CREATE INDEX IF NOT EXISTS idx_events_end ON events(end);
|
|
CREATE INDEX IF NOT EXISTS idx_events_node_id ON events(node_id);
|
|
CREATE INDEX IF NOT EXISTS idx_events_category_id ON events(category_id);
|
|
CREATE INDEX IF NOT EXISTS idx_categories_deleted ON categories(deleted);
|