From 214a7ecff173e85efee6b6ab3152493c78122d21 Mon Sep 17 00:00:00 2001 From: lila Date: Fri, 24 Jul 2026 00:33:28 +0200 Subject: [PATCH] adding sql schema for sqlite db, adding sqlite db to gitignore --- .gitignore | 2 +- data-pipeline/db/schema.sql | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 data-pipeline/db/schema.sql diff --git a/.gitignore b/.gitignore index f533cdd..cb4f8db 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,6 @@ __pycache__/ *.pyc data-pipeline/kaikki-source-files/ -data-pipeline/db/pipeline.db +data-pipeline/db/staging.db data-pipeline/.env .aider* diff --git a/data-pipeline/db/schema.sql b/data-pipeline/db/schema.sql new file mode 100644 index 0000000..45fe1bb --- /dev/null +++ b/data-pipeline/db/schema.sql @@ -0,0 +1,30 @@ +CREATE TABLE words ( + id TEXT PRIMARY KEY, + headword TEXT NOT NULL, + language_code TEXT NOT NULL, + pos TEXT NOT NULL, + created_at TEXT DEFAULT (datetime('now')), + UNIQUE(headword, language_code, pos) +); + +CREATE TABLE senses ( + id TEXT PRIMARY KEY, + word_id TEXT NOT NULL REFERENCES words(id), + sense_index INTEGER NOT NULL DEFAULT 0, + difficulty TEXT NOT NULL, + definitions TEXT NOT NULL DEFAULT '[]', + examples TEXT NOT NULL DEFAULT '[]', + created_at TEXT DEFAULT (datetime('now')), + UNIQUE(word_id, sense_index) +); + +CREATE TABLE translations ( + id TEXT PRIMARY KEY, + sense_id TEXT NOT NULL REFERENCES senses(id), + target_language_code TEXT NOT NULL, + translation TEXT NOT NULL, + gender TEXT, + difficulty TEXT NOT NULL, + created_at TEXT DEFAULT (datetime('now')), + UNIQUE(sense_id, target_language_code, translation) +);