Каркас модуля wiki: схема (wiki_project, wiki_page, wiki_attachment, wiki_sync_stage), настройки, поле проекта wiki_root с хуками создания и правки, команды wiki_sync и wiki_fetch, фоновая синхронизация. Зависимость markdownify>=1.2.3. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
121 lines
6.7 KiB
JSON
121 lines
6.7 KiB
JSON
{
|
|
"objects": [
|
|
[
|
|
"index",
|
|
"issue_attachment_key",
|
|
"CREATE INDEX issue_attachment_key ON issue_attachment(key)"
|
|
],
|
|
[
|
|
"index",
|
|
"ix_command_status",
|
|
"CREATE INDEX ix_command_status ON command(status, batch_id, seq)"
|
|
],
|
|
[
|
|
"index",
|
|
"ix_issue_change_at",
|
|
"CREATE INDEX ix_issue_change_at ON issue_change(at)"
|
|
],
|
|
[
|
|
"index",
|
|
"ix_issue_change_key",
|
|
"CREATE INDEX ix_issue_change_key ON issue_change(key, at)"
|
|
],
|
|
[
|
|
"index",
|
|
"ix_issue_link_target",
|
|
"CREATE INDEX ix_issue_link_target ON issue_link(target_key)"
|
|
],
|
|
[
|
|
"table",
|
|
"agent_status",
|
|
"CREATE TABLE agent_status (\n agent TEXT PRIMARY KEY,\n last_seen_at TEXT,\n agent_version TEXT,\n settings_version INTEGER,\n current_command_id INTEGER,\n last_call_at TEXT\n)"
|
|
],
|
|
[
|
|
"table",
|
|
"attachment_file",
|
|
"CREATE TABLE attachment_file (\n attachment_id TEXT PRIMARY KEY,\n file TEXT NOT NULL,\n size INTEGER NOT NULL,\n fetched_at TEXT NOT NULL\n)"
|
|
],
|
|
[
|
|
"table",
|
|
"batch",
|
|
"CREATE TABLE batch (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n title TEXT NOT NULL,\n author TEXT NOT NULL,\n created_at TEXT NOT NULL,\n cancelled_at TEXT,\n estimate_seconds INTEGER NOT NULL DEFAULT 0,\n project TEXT\n)"
|
|
],
|
|
[
|
|
"table",
|
|
"command",
|
|
"CREATE TABLE command (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n batch_id INTEGER NOT NULL REFERENCES batch(id),\n seq INTEGER NOT NULL,\n type TEXT NOT NULL,\n params TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'queued',\n claimed_at TEXT,\n deliveries INTEGER NOT NULL DEFAULT 0,\n finished_at TEXT,\n result TEXT,\n error TEXT,\n jira_calls INTEGER NOT NULL DEFAULT 0,\n rate_limited INTEGER NOT NULL DEFAULT 0,\n pause_seconds INTEGER,\n depends_on INTEGER REFERENCES command(id)\n)"
|
|
],
|
|
[
|
|
"table",
|
|
"issue",
|
|
"CREATE TABLE issue (\n key TEXT PRIMARY KEY,\n id TEXT,\n issue_type TEXT,\n summary TEXT,\n description TEXT,\n status TEXT,\n priority TEXT,\n assignee TEXT,\n reporter TEXT,\n duedate TEXT,\n planned_start TEXT,\n planned_end TEXT,\n epic_key TEXT,\n labels TEXT NOT NULL DEFAULT '[]',\n sprint TEXT,\n created TEXT,\n jira_updated TEXT,\n fetched_at TEXT NOT NULL,\n neighbor INTEGER NOT NULL DEFAULT 0\n)"
|
|
],
|
|
[
|
|
"table",
|
|
"issue_attachment",
|
|
"CREATE TABLE issue_attachment (\n attachment_id TEXT PRIMARY KEY,\n key TEXT NOT NULL,\n filename TEXT NOT NULL,\n size INTEGER,\n mime_type TEXT,\n author TEXT,\n created TEXT,\n created_at TEXT\n)"
|
|
],
|
|
[
|
|
"table",
|
|
"issue_change",
|
|
"CREATE TABLE issue_change (\n history_id TEXT NOT NULL,\n seq INTEGER NOT NULL,\n key TEXT NOT NULL,\n at TEXT,\n created TEXT NOT NULL,\n author TEXT,\n field TEXT NOT NULL,\n field_id TEXT,\n field_name TEXT NOT NULL,\n from_value TEXT,\n from_string TEXT,\n to_value TEXT,\n to_string TEXT,\n fetched_at TEXT NOT NULL,\n PRIMARY KEY (history_id, seq)\n)"
|
|
],
|
|
[
|
|
"table",
|
|
"issue_comment",
|
|
"CREATE TABLE issue_comment (\n key TEXT NOT NULL,\n comment_id TEXT NOT NULL,\n author TEXT,\n created TEXT,\n updated TEXT,\n body TEXT NOT NULL DEFAULT '',\n created_at TEXT,\n PRIMARY KEY (key, comment_id)\n)"
|
|
],
|
|
[
|
|
"table",
|
|
"issue_link",
|
|
"CREATE TABLE issue_link (\n source_key TEXT NOT NULL,\n target_key TEXT NOT NULL,\n link_type TEXT NOT NULL,\n PRIMARY KEY (source_key, target_key, link_type)\n)"
|
|
],
|
|
[
|
|
"table",
|
|
"issue_note",
|
|
"CREATE TABLE issue_note (\n key TEXT PRIMARY KEY,\n fact_status TEXT,\n work_kind TEXT,\n done_text TEXT,\n rest_text TEXT,\n owner_note TEXT,\n updated_at TEXT,\n updated_by TEXT\n)"
|
|
],
|
|
[
|
|
"table",
|
|
"jira_project",
|
|
"CREATE TABLE jira_project (\n label TEXT PRIMARY KEY REFERENCES project(label),\n board_id INTEGER,\n board_type TEXT\n)"
|
|
],
|
|
[
|
|
"table",
|
|
"project",
|
|
"CREATE TABLE project (\n label TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n created_at TEXT NOT NULL\n)"
|
|
],
|
|
[
|
|
"table",
|
|
"setting",
|
|
"CREATE TABLE setting (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n)"
|
|
],
|
|
[
|
|
"table",
|
|
"sync_run",
|
|
"CREATE TABLE sync_run (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n started_at TEXT NOT NULL,\n finished_at TEXT,\n kind TEXT NOT NULL,\n query TEXT,\n issues_count INTEGER NOT NULL DEFAULT 0,\n links_count INTEGER NOT NULL DEFAULT 0,\n jira_calls INTEGER NOT NULL DEFAULT 0,\n rate_limited INTEGER NOT NULL DEFAULT 0,\n command_id INTEGER,\n history_at TEXT\n)"
|
|
],
|
|
[
|
|
"table",
|
|
"wiki_attachment",
|
|
"CREATE TABLE wiki_attachment (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n label TEXT NOT NULL,\n page_code TEXT NOT NULL,\n url TEXT NOT NULL,\n name TEXT,\n state TEXT NOT NULL DEFAULT 'none',\n file TEXT,\n size INTEGER,\n error TEXT,\n fetched_at TEXT,\n UNIQUE (label, page_code, url)\n)"
|
|
],
|
|
[
|
|
"table",
|
|
"wiki_page",
|
|
"CREATE TABLE wiki_page (\n label TEXT NOT NULL,\n code TEXT NOT NULL,\n eva_id TEXT,\n title TEXT,\n parent_code TEXT,\n orderno INTEGER,\n depth INTEGER,\n path TEXT,\n url TEXT,\n size INTEGER,\n synced_at TEXT,\n PRIMARY KEY (label, code)\n)"
|
|
],
|
|
[
|
|
"table",
|
|
"wiki_project",
|
|
"CREATE TABLE wiki_project (\n label TEXT PRIMARY KEY REFERENCES project(label),\n root_code TEXT NOT NULL,\n root_title TEXT,\n synced_at TEXT,\n failed_at TEXT,\n pages_count INTEGER NOT NULL DEFAULT 0,\n sync_error TEXT\n)"
|
|
],
|
|
[
|
|
"table",
|
|
"wiki_sync_stage",
|
|
"CREATE TABLE wiki_sync_stage (\n command_id INTEGER NOT NULL,\n code TEXT NOT NULL,\n payload TEXT NOT NULL,\n PRIMARY KEY (command_id, code)\n)"
|
|
]
|
|
],
|
|
"schema_version": 7
|
|
}
|