Задать вопрос

Как дропнуть все таблицы?

Чтобы избежать факапов при работе с БД решил написать скрипт, который «безопасно» грохает таблицы в БД, создавая бекап перед этим. Это нужно при внесении изменений в структуру БД в процессе разработки.

С частью создания бекапа разобрался (через pg_dump).
Подскажите способ дропнуть все таблицы в БД из командной строки Windows?

Скрипт бекапа:
spoiler
@echo off

set dbname=sample1_rel1
set dbuser=user1

set year=%date:~6,4%
set month=%date:~3,2%
set day=%date:~0,2%
set hour=%time:~0,2%
set min=%time:~3,2%
set sec=%time:~6,2%
set stamp=%year%-0%month%-%day%_%hour%-%min%-%sec%
set filename="%dbname%/%dbname%_%stamp%.sql"

echo Make dump for %dbname%
if not exist %dbname% mkdir %dbname%
pg_dump --host=192.168.1.1 --dbname=%dbname% --username=%dbuser% --column-inserts --attribute-inserts > %filename%
echo Dump created to %filename%
echo.

pause
  • Вопрос задан
  • 266 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
saboteur_kiev
@saboteur_kiev
software engineer
Ну так клиентом комнадной строки дропай
psql -h 192.168.1.1 -d %dbname% -U %dbuser% -c "delete from users;"

или отдельный sql файл сделай со всеми командами и -f file.sql
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Тебе проще новую базу создавать каждый раз. Я так делал. А старая пускай лежит как бекап.
Создаешь db1, db2, db3.... Потом удаляешь которые уже не нужны.

Или в докере разворачиваешь если пустая нужна.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы