From 494f8810b7e6c528a671e9b9a62a923f4c2a6a36 Mon Sep 17 00:00:00 2001 From: Alex Kotov Date: Sat, 18 Feb 2023 11:43:05 +0400 Subject: [PATCH] Add parts of speech --- 20230218073436_parts.down.sql | 4 ++++ 20230218073436_parts.up.sql | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 20230218073436_parts.down.sql create mode 100644 20230218073436_parts.up.sql diff --git a/20230218073436_parts.down.sql b/20230218073436_parts.down.sql new file mode 100644 index 0000000..d1b29fd --- /dev/null +++ b/20230218073436_parts.down.sql @@ -0,0 +1,4 @@ +BEGIN; +ALTER TABLE words DROP COLUMN part_id; +DROP TABLE parts; +COMMIT; diff --git a/20230218073436_parts.up.sql b/20230218073436_parts.up.sql new file mode 100644 index 0000000..3edf961 --- /dev/null +++ b/20230218073436_parts.up.sql @@ -0,0 +1,18 @@ +BEGIN; + +CREATE TABLE parts ( +-- name type constraints + id BIGSERIAL PRIMARY KEY, + language_id BIGINT NOT NULL REFERENCES languages (id), + english_name VARCHAR NOT NULL, + +-- CONSTRAINT name CHECK (condition) + CONSTRAINT english_name_is_sane_text CHECK (is_sane_text(english_name)) +); + +CREATE UNIQUE INDEX parts_language_english_name + ON parts (language_id, english_name); + +ALTER TABLE words ADD COLUMN part_id BIGINT REFERENCES parts (id); + +COMMIT;