Отсев баз через source.exclude_databases

list_databases() прячит базы по массиву строк: подстрока без регистра
или маска со * ? [. Фильтр — единственное место рождения списка, поэтому
одинаков для меню, пульта и list; явное имя в CLI не трогает.
This commit is contained in:
2026-08-20 06:02:55 +03:00
parent 9404d1dd08
commit 975934373b
5 changed files with 65 additions and 1 deletions
+3
View File
@@ -75,6 +75,9 @@ matches(text, query) ; общий фильтр для pick() и обоих с
`kind` (`dump` или `sync`), а правки полей уезжают в `OpSpec.overrides` и накладываются
копией конфига в `op_cfg()`. Файл `config.json` пульт не переписывает, значения живут
до выхода в `DashboardScreen.op_defaults`.
- `source.exclude_databases` отсеивается в `list_databases()` — единственном месте, где
список рождается, поэтому фильтр одинаков для меню, пульта и `list`. Явное имя базы в CLI
через список не проходит и потому не фильтруется.
- Имя базы — параметр, а не поле конфига. `source` описывает только сервер
(`maintenance_database` — куда подключаться, чтобы прочитать `pg_database`),
`target.database: null` означает «локально как на стенде»; переопределяется `--target-db`.