From e4ef43cb72276b05e3d6e10bd5920176be527c3b Mon Sep 17 00:00:00 2001 From: Alex Kotov Date: Sun, 5 Feb 2023 03:11:56 +0400 Subject: [PATCH] Add examples --- 20230204224830_examples.down.sql | 4 ++++ 20230204224830_examples.up.sql | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 20230204224830_examples.down.sql create mode 100644 20230204224830_examples.up.sql diff --git a/20230204224830_examples.down.sql b/20230204224830_examples.down.sql new file mode 100644 index 0000000..b20b145 --- /dev/null +++ b/20230204224830_examples.down.sql @@ -0,0 +1,4 @@ +BEGIN; +DROP TABLE example_texts; +DROP TABLE examples; +COMMIT; diff --git a/20230204224830_examples.up.sql b/20230204224830_examples.up.sql new file mode 100644 index 0000000..677670c --- /dev/null +++ b/20230204224830_examples.up.sql @@ -0,0 +1,20 @@ +BEGIN; + +CREATE TABLE examples ( + id BIGSERIAL PRIMARY KEY +); + +CREATE TABLE example_texts ( + id BIGSERIAL PRIMARY KEY, + example_id BIGINT NOT NULL REFERENCES examples (id), + language_id BIGINT NOT NULL REFERENCES languages (id), + index BIGINT NOT NULL, + value TEXT NOT NULL, + CONSTRAINT index_is_not_negative CHECK(index >= 0), + CONSTRAINT value_is_sane_text CHECK (is_sane_text(value)) +); + +CREATE UNIQUE INDEX example_texts_example_language_index + ON example_texts (example_id, language_id, index); + +COMMIT;