pub struct Migration;Implementations§
Source§impl Migration
impl Migration
pub const SCHEMA: &'static str = "-- BoardDown SQLite Schema\n-- Version: 1\n\n-- Boards table\nCREATE TABLE IF NOT EXISTS boards (\n id TEXT PRIMARY KEY,\n title TEXT NOT NULL,\n metadata TEXT, -- JSON\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n);\n\n-- Columns table\nCREATE TABLE IF NOT EXISTS columns (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n board_id TEXT NOT NULL,\n name TEXT NOT NULL,\n \"order\" INTEGER NOT NULL DEFAULT 0,\n wip_limit INTEGER,\n FOREIGN KEY (board_id) REFERENCES boards(id) ON DELETE CASCADE,\n UNIQUE(board_id, name)\n);\n\n-- Tasks table\nCREATE TABLE IF NOT EXISTS tasks (\n id TEXT PRIMARY KEY,\n board_id TEXT NOT NULL,\n title TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT \'todo\',\n column_name TEXT NOT NULL,\n metadata TEXT, -- JSON\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL,\n FOREIGN KEY (board_id) REFERENCES boards(id) ON DELETE CASCADE\n);\n\n-- Dependencies table\nCREATE TABLE IF NOT EXISTS dependencies (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n from_task_id TEXT NOT NULL,\n to_task_id TEXT NOT NULL,\n dependency_type TEXT NOT NULL DEFAULT \'depends_on\',\n FOREIGN KEY (from_task_id) REFERENCES tasks(id) ON DELETE CASCADE,\n FOREIGN KEY (to_task_id) REFERENCES tasks(id) ON DELETE CASCADE,\n UNIQUE(from_task_id, to_task_id)\n);\n\n-- Change log for sync\nCREATE TABLE IF NOT EXISTS change_log (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n board_id TEXT NOT NULL,\n version INTEGER NOT NULL,\n operation TEXT NOT NULL, -- JSON\n timestamp TEXT NOT NULL,\n FOREIGN KEY (board_id) REFERENCES boards(id) ON DELETE CASCADE\n);\n\n-- Full-text search index\nCREATE VIRTUAL TABLE IF NOT EXISTS tasks_fts USING fts5(\n task_id,\n board_id,\n title,\n content,\n metadata,\n tokenize = \'porter unicode61\'\n);\n\n-- Indexes for common queries\nCREATE INDEX IF NOT EXISTS idx_tasks_board_id ON tasks(board_id);\nCREATE INDEX IF NOT EXISTS idx_tasks_status ON tasks(status);\nCREATE INDEX IF NOT EXISTS idx_tasks_column ON tasks(column_name);\nCREATE INDEX IF NOT EXISTS idx_change_log_version ON change_log(board_id, version);\n"
Auto Trait Implementations§
impl Freeze for Migration
impl RefUnwindSafe for Migration
impl Send for Migration
impl Sync for Migration
impl Unpin for Migration
impl UnsafeUnpin for Migration
impl UnwindSafe for Migration
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more