1
0
Fork 0

Add translations

This commit is contained in:
Alex Kotov 2023-02-18 17:13:28 +04:00
parent 4daf40fc6b
commit 772b562f24
Signed by: kotovalexarian
GPG key ID: 553C0EBBEB5D5F08
2 changed files with 32 additions and 0 deletions

View file

@ -0,0 +1,4 @@
BEGIN;
DROP TABLE translation_texts;
DROP TABLE translations;
COMMIT;

View file

@ -0,0 +1,28 @@
BEGIN;
CREATE TABLE translations (
-- name type constraints
id BIGSERIAL PRIMARY KEY,
word_id BIGINT NOT NULL REFERENCES words (id),
index BIGINT NOT NULL,
-- CONSTRAINT name CHECK (condition)
CONSTRAINT index_is_not_negative CHECK (index >= 0)
);
CREATE TABLE translation_texts (
-- name type constraints
id BIGSERIAL PRIMARY KEY,
translation_id BIGINT NOT NULL REFERENCES translations (id),
lang_id BIGINT NOT NULL REFERENCES languages (id),
value TEXT NOT NULL,
-- CONSTRAINT name CHECK (condition)
CONSTRAINT value_is_sane_text CHECK (is_sane_text(value))
);
CREATE UNIQUE INDEX translations_word_index ON translations (word_id, index);
CREATE UNIQUE INDEX translation_texts_translation_lang
ON translation_texts (translation_id, lang_id);
COMMIT;