generated from coulomb/repo-seed
59 lines
2.4 KiB
SQL
59 lines
2.4 KiB
SQL
CREATE TABLE IF NOT EXISTS repositories (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
name TEXT NOT NULL,
|
|
url TEXT NOT NULL UNIQUE,
|
|
description TEXT,
|
|
branch TEXT NOT NULL DEFAULT 'main',
|
|
status TEXT NOT NULL DEFAULT 'registered',
|
|
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS approved_abilities (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
repository_id INTEGER NOT NULL REFERENCES repositories(id) ON DELETE CASCADE,
|
|
name TEXT NOT NULL,
|
|
description TEXT NOT NULL DEFAULT '',
|
|
confidence REAL NOT NULL DEFAULT 1.0,
|
|
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS approved_capabilities (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
repository_id INTEGER NOT NULL REFERENCES repositories(id) ON DELETE CASCADE,
|
|
ability_id INTEGER NOT NULL REFERENCES approved_abilities(id) ON DELETE CASCADE,
|
|
name TEXT NOT NULL,
|
|
description TEXT NOT NULL DEFAULT '',
|
|
inputs TEXT NOT NULL DEFAULT '[]',
|
|
outputs TEXT NOT NULL DEFAULT '[]',
|
|
confidence REAL NOT NULL DEFAULT 1.0,
|
|
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS approved_features (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
repository_id INTEGER NOT NULL REFERENCES repositories(id) ON DELETE CASCADE,
|
|
capability_id INTEGER NOT NULL REFERENCES approved_capabilities(id) ON DELETE CASCADE,
|
|
name TEXT NOT NULL,
|
|
type TEXT NOT NULL,
|
|
location TEXT NOT NULL DEFAULT '',
|
|
confidence REAL NOT NULL DEFAULT 1.0,
|
|
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS approved_evidence (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
repository_id INTEGER NOT NULL REFERENCES repositories(id) ON DELETE CASCADE,
|
|
capability_id INTEGER NOT NULL REFERENCES approved_capabilities(id) ON DELETE CASCADE,
|
|
type TEXT NOT NULL,
|
|
reference TEXT NOT NULL,
|
|
strength TEXT NOT NULL DEFAULT 'medium',
|
|
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_repositories_status ON repositories(status);
|
|
CREATE INDEX IF NOT EXISTS idx_abilities_repository ON approved_abilities(repository_id);
|
|
CREATE INDEX IF NOT EXISTS idx_capabilities_repository ON approved_capabilities(repository_id);
|
|
CREATE INDEX IF NOT EXISTS idx_features_repository ON approved_features(repository_id);
|
|
CREATE INDEX IF NOT EXISTS idx_evidence_repository ON approved_evidence(repository_id);
|