refactor(schema): consolidate schema definition to single source of truth
This commit is contained in:
34
extension/schema.sql
Normal file
34
extension/schema.sql
Normal file
@@ -0,0 +1,34 @@
|
||||
-- CREATE TABLE files (
|
||||
-- id INTEGER PRIMARY KEY,
|
||||
-- path TEXT NOT NULL UNIQUE,
|
||||
-- language TEXT NOT NULL,
|
||||
-- package TEXT,
|
||||
-- hash TEXT NOT NULL,
|
||||
-- indexed_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
||||
-- );
|
||||
--
|
||||
-- CREATE TABLE symbols (
|
||||
-- id INTEGER PRIMARY KEY,
|
||||
-- file_id INTEGER NOT NULL REFERENCES files(id) ON DELETE CASCADE,
|
||||
-- name TEXT NOT NULL,
|
||||
-- kind TEXT NOT NULL CHECK(kind IN (
|
||||
-- 'function', 'method', 'class', 'type',
|
||||
-- 'interface', 'constant', 'variable', 'constructor'
|
||||
-- )),
|
||||
-- line INTEGER NOT NULL,
|
||||
-- line_end INTEGER,
|
||||
-- col INTEGER,
|
||||
-- col_end INTEGER,
|
||||
-- exported BOOLEAN,
|
||||
-- parent_id INTEGER REFERENCES symbols(id),
|
||||
-- UNIQUE(file_id, name, kind, line)
|
||||
-- );
|
||||
--
|
||||
-- CREATE INDEX idx_symbols_name ON symbols(name);
|
||||
-- CREATE INDEX idx_symbols_kind ON symbols(kind);
|
||||
-- CREATE INDEX idx_symbols_file_line ON symbols(file_id, line);
|
||||
-- CREATE INDEX idx_symbols_parent ON symbols(parent_id);
|
||||
-- CREATE INDEX idx_symbols_exported ON symbols(exported, kind);
|
||||
-- CREATE INDEX idx_files_path ON files(path);
|
||||
-- CREATE INDEX idx_files_language ON files(language);
|
||||
-- CREATE INDEX idx_files_package ON files(package);
|
||||
Reference in New Issue
Block a user