From 8468fc0c80833c8fdc8d55b4c90541120f6bc934 Mon Sep 17 00:00:00 2001 From: dannc Date: Mon, 6 Jun 2022 09:50:37 +0700 Subject: [PATCH] homework 6.4: add task 4 --- src/homework/06-database/6.4/dump/.gitignore | 3 +++ src/homework/06-database/6.4/readme.md | 14 +++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 src/homework/06-database/6.4/dump/.gitignore diff --git a/src/homework/06-database/6.4/dump/.gitignore b/src/homework/06-database/6.4/dump/.gitignore new file mode 100644 index 0000000..8d7f67a --- /dev/null +++ b/src/homework/06-database/6.4/dump/.gitignore @@ -0,0 +1,3 @@ +* +!.gitignore +!test_dump.sql \ No newline at end of file diff --git a/src/homework/06-database/6.4/readme.md b/src/homework/06-database/6.4/readme.md index 7365ffe..81caf55 100644 --- a/src/homework/06-database/6.4/readme.md +++ b/src/homework/06-database/6.4/readme.md @@ -202,4 +202,16 @@ CREATE TABLE orders_2 PARTITION OF orders > > Как бы вы доработали бэкап-файл, чтобы добавить уникальность значения столбца `title` для таблиц `test_database`? -// todo \ No newline at end of file +Создание бэкапа базы данных: + +```shell +docker-compose exec postgres sh +pg_dump -Uadmin -dtest_database > /opt/dump/test_database.sql +``` + +Есть два варианта, как можно сделать `title` уникальным: + +1. Предпочтительный способ. Необходимо выполнить запрос `alter table orders add constraint orders_tilte_unique unique (title);` + на текущей работающей БД, а затем снять дамп. +2. Так как дамп БД - это набор sql-скриптов, то можно добавить запрос непосредственно в файл `test_database.sql`. + Но в данном случае изменения применяться только для БД, на которых будет применён этот дамп.