dachdigitalwerksorg/kanvaflow
KanvaFlow — Remixable team task board with RBAC, drag-and-drop Kanban, dependencies, Dodil Models AI, and MCP tools.
A remix template · 0 remixes · Remix dachdigitalwerksorg/kanvaflow
schema.sql
-- Created once by the remix in the bucket it provisions. Natural keys only: DataK3 has no sequences.
CREATE TABLE IF NOT EXISTS boards (
id TEXT PRIMARY KEY,
title TEXT NOT NULL,
description TEXT,
owner_email TEXT NOT NULL,
created_at TIMESTAMP
);
CREATE TABLE IF NOT EXISTS memberships (
id TEXT PRIMARY KEY, -- board_id + ':' + email
board_id TEXT NOT NULL,
email TEXT NOT NULL,
role TEXT NOT NULL -- owner | member | viewer
);
CREATE TABLE IF NOT EXISTS board_lists (
id TEXT PRIMARY KEY, -- board_id + ':' + slug
board_id TEXT NOT NULL,
name TEXT NOT NULL,
position INTEGER NOT NULL,
is_done BOOLEAN NOT NULL
);
CREATE TABLE IF NOT EXISTS cards (
id TEXT PRIMARY KEY,
board_id TEXT NOT NULL,
list_name TEXT NOT NULL,
title TEXT NOT NULL,
description TEXT,
assignee TEXT,
due_date DATE,
labels_json TEXT,
checklist_json TEXT,
embedding_json TEXT,
position INTEGER NOT NULL,
updated_at TIMESTAMP
);
CREATE TABLE IF NOT EXISTS card_dependencies (
id TEXT PRIMARY KEY, -- card_id + ':' + blocked_by_id
board_id TEXT NOT NULL,
card_id TEXT NOT NULL,
blocked_by_id TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS activity (
id TEXT PRIMARY KEY,
board_id TEXT NOT NULL,
card_id TEXT,
actor TEXT NOT NULL,
action TEXT NOT NULL,
event_at TIMESTAMP
);