Initial commit with basic DB layout

This commit is contained in:
2023-01-03 15:16:10 +01:00
commit a9e300ede2
16 changed files with 330 additions and 0 deletions

View File

@@ -0,0 +1 @@
-- This file should undo anything in `up.sql`

View File

@@ -0,0 +1,40 @@
-- Your SQL goes here
CREATE TYPE PartOfSpeech as ENUM ('ADJ', 'ADP', 'ADV', 'AUX', 'CCONJ', 'DET', 'INTJ', 'NOUN', 'NUM', 'PART', 'PRON', 'PROPN', 'PUNCT', 'SCONJ', 'SYM', 'VERB', 'X');
CREATE TYPE WordRelationship as ENUM('def', 'related');
CREATE TABLE Words (
norm VARCHAR(255) PRIMARY KEY, -- normalized word
native VARCHAR(255),
lemma VARCHAR(255)
REFERENCES Words(norm)
ON UPDATE CASCADE
ON DELETE SET NULL,
language VARCHAR(255)
REFERENCES Languages(name)
ON UPDATE CASCADE
ON DELETE CASCADE
NOT NULL,
partofspeech PartOfSpeech NOT NULL,
audio VARCHAR(511),
video VARCHAR(511),
image VARCHAR(511),
description TEXT, -- Markdown
etymology TEXT, -- Markdown
lusage TEXT, -- Markdown
morphology TEXT -- Markdown
);
CREATE TABLE WordRelation (
id SERIAL PRIMARY KEY,
wordsource VARCHAR(255)
REFERENCES Words(norm)
ON UPDATE CASCADE
ON DELETE CASCADE
NOT NULL,
wordtarget VARCHAR(255)
REFERENCES Words(norm)
ON UPDATE CASCADE
ON DELETE CASCADE
NOT NULL,
relationship WordRelationship NOT NULL
);