Files
pg-stand-sync/config.example.json
T
mikhail 9fdb02c72a TUI-пульт на Textual вместо текстового меню
Списки баз стенда и локальных дампов на одном экране, фильтр сужает их
на каждом набранном символе. Enter по базе открывает окно параметров
дампа с галочкой автоподнятия: снята — только dump, поднята — dump плюс
restore. Правки полей уезжают в копию конфига, config.json не трогается.

Ядро получило четыре хука для UI (лог, границы шагов, пароль, отмена),
run() читает вывод утилит построчно через Popen, поэтому журнал
наполняется во время работы pg_dump. Текстовый режим, CLI и --dry-run
ведут себя как раньше; без textual или вне tty пульт не запускается.

Журнал разворачивается на весь экран по F4 и сам на старте операции.
Раскладка адаптивная: narrow ниже 100 колонок, short ниже 32 строк.
Ctrl-хоткеи продублированы кириллицей — русская раскладка их не глушит.

Запуск через run.ps1 (venv, UTF-8-консоль, -Setup и -Tests).
Проверка — tests_tui.py: 46 тестов, TUI гоняется headless через Pilot.
2026-08-20 05:21:52 +03:00

52 lines
1019 B
JSON

{
"pg_bin_dir": "C:\\Program Files\\pgAdmin 4\\runtime",
"dump_dir": "dumps",
"keep_dumps": 5,
"source": {
"host": "postgresql.lan",
"port": 5432,
"maintenance_database": "postgres",
"user": "postgres",
"password": null,
"password_env": "STAND_PGPASSWORD",
"sslmode": "prefer",
"connect_timeout": 15
},
"target": {
"host": "localhost",
"port": 5432,
"database": null,
"user": "postgres",
"password": null,
"password_env": "LOCAL_PGPASSWORD",
"maintenance_database": "postgres",
"owner": "postgres",
"recreate": true
},
"dump": {
"schema_only": false,
"no_owner": true,
"no_privileges": true,
"compress": 6,
"verbose": false,
"schemas": [],
"exclude_schemas": [],
"exclude_tables": [],
"exclude_table_data": []
},
"restore": {
"jobs": 4,
"no_owner": true,
"no_privileges": true,
"clean": true,
"exit_on_error": false,
"verbose": false
},
"post_restore_sql": []
}