From 1c84d9deb4d2bea8226e1ec42841aeb75ec741bd Mon Sep 17 00:00:00 2001 From: Alex Kotov Date: Sat, 18 Feb 2023 14:07:01 +0400 Subject: [PATCH] Translate parts of speech --- 20230218100109_translate_parts.down.sql | 3 +++ 20230218100109_translate_parts.up.sql | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 20230218100109_translate_parts.down.sql create mode 100644 20230218100109_translate_parts.up.sql diff --git a/20230218100109_translate_parts.down.sql b/20230218100109_translate_parts.down.sql new file mode 100644 index 0000000..f79474e --- /dev/null +++ b/20230218100109_translate_parts.down.sql @@ -0,0 +1,3 @@ +BEGIN; +DROP TABLE part_names; +COMMIT; diff --git a/20230218100109_translate_parts.up.sql b/20230218100109_translate_parts.up.sql new file mode 100644 index 0000000..a6ab3fe --- /dev/null +++ b/20230218100109_translate_parts.up.sql @@ -0,0 +1,19 @@ +BEGIN; + +CREATE TABLE part_names ( +-- name type constraints + id BIGSERIAL PRIMARY KEY, + part_id BIGINT NOT NULL REFERENCES parts (id), + name_lang_id BIGINT NOT NULL REFERENCES languages (id), + value VARCHAR NOT NULL, + +-- CONSTRAINT name CHECK (condition) + CONSTRAINT value_is_sane_text CHECK (is_sane_text(value)) +); + +CREATE UNIQUE INDEX part_names_part_name_lang + ON part_names (part_id, name_lang_id); +CREATE UNIQUE INDEX part_names_name_lang_value + ON part_names (name_lang_id, value); + +COMMIT;