An open API service indexing awesome lists of open source software.

https://github.com/mayurifag/postgresql-db-cleaning-scripts

Make any sql actions with your postgresql dumps and get new gzipped dump
https://github.com/mayurifag/postgresql-db-cleaning-scripts

bash database postgresql script sql

Last synced: 2 months ago
JSON representation

Make any sql actions with your postgresql dumps and get new gzipped dump

Awesome Lists containing this project

README

          

# PostgreSQL DB cleaning scripts

* * *

## Описание

`script.sh` позволяет выполнить сценарии из всех `*.sql` файлов в папке
`actions` с дампом вашей базы данных, находящейся в `.gz` архиве.

Для этого скрипт импортирует дамп в `Postgres` (название новой базы данных
можно посмотреть и поменять внутри скрипта), произведет действия из сценариев
в папке `actions`, а затем создаст новый дамп и архивированную версию.

* * *

## Использование

1. Поместите архивированный дамп базы данных в папку со скриптом.
2. Запустите скрипт при помощи `./script.sh %база_данных.sql.gz%`.
Если аргумент для скрипта не указан, то скрипт запустится для базы данных по
умолчанию (с названием `db.sql.gz`)

Подразумевается, что ваша база данных сконфигурирована с использованием
настроек по умолчанию — она находится на вашем компьютере (`localhost`),
используется стандартный порт 5432, имеется роль `postgres` без пароля.
Если это не так — добавьте или измените отличающиеся параметры в
соответствующих командах `script.sh`.

Вам так же может понадобиться вывод в консоль какой-либо из команд скрипта.
Тогда нужно убрать из нужной команды `&> /dev/null`.

Если вам нужно изменить название временной базы данных, то смените
переменную `$DB` в скрипте. Вам **определенно** не стоит называть её чем-то вроде
`my_super_puper_project_development`.

* * *

## Добавление своего сценария

Для добавления своего сценария вам нужно вписать его в новый `.sql` файл с
понятным названием и положить его в папку `actions`. Больше ничего делать не
нужно, т.к. скрипт автоматически выполнит каждый сценарий из всех `sql` файлов
в папке.

* * *

## TODO

### Скрипт

- Возможность показывать вывод команд в консоли если задан аргумент
`--verbose`
- Исполнять скрипт только если исходный архив существует и имеет размер
больше 0 байт
- Добавить exit code
- Добавить действия которые будут спрашивать пользователя и
переименовывать (при наличии) файлы из `$RESULT_DIR`, если вдруг там имелись
`$RESULT_FILENAME` и `$RESULT_GZIP_FILENAME`

### Сценарии

- Добавить примеры