v1.0.89: Sonnet Round 3 — PG connection string, migrations, map-fixed UI, pytest
This commit is contained in:
@@ -1,5 +1,31 @@
|
|||||||
# История разработки app-autotest
|
# История разработки app-autotest
|
||||||
|
|
||||||
|
## v1.0.89 (27.07.2026) — Sonnet Round 3: практические вопросы
|
||||||
|
|
||||||
|
### 1. PostgreSQL connection string
|
||||||
|
- `os.getenv("DATABASE_URL")` — никакого service discovery
|
||||||
|
- Инжектится через `jsonEnv` параметры pythonk8s-сервиса (как NUBES_API_TOKEN)
|
||||||
|
- Порядок: создать PostgreSQL-инстанс в Nubes → взять host/port/user/pass из state_out → собрать DSN → jsonEnv → деплой
|
||||||
|
|
||||||
|
### 2. Миграции при деплое
|
||||||
|
- `init_db()` на уровне модуля в app.py, до register_blueprint
|
||||||
|
- `CREATE TABLE/INDEX IF NOT EXISTS` — идемпотентно, каждый воркер выполнит независимо
|
||||||
|
- PostgreSQL обрабатывает конкурентный DDL корректно
|
||||||
|
- Никаких ручных шагов при деплое
|
||||||
|
- `DROP COLUMN` — не идемпотентно, осторожно
|
||||||
|
|
||||||
|
### 3. Multi-service UI (map-fixed)
|
||||||
|
- `dataDescriptor` уже в API-ответе — инфраструктура готова
|
||||||
|
- `map` (свободный): textarea + JSON-валидация (как сейчас)
|
||||||
|
- `map-fixed`: таблица подполей с отдельными input/select из dataDescriptor
|
||||||
|
- Бэкенд не меняется — paramValue всегда строка
|
||||||
|
- Изменения только во фронте: showParams() + сбор подполей в JSON перед отправкой
|
||||||
|
|
||||||
|
### 4. Тесты
|
||||||
|
- pytest для чистых функций без моков: `_find_uid`, `_uid_from_location`, `_with_prefix`, слияние params, tracker
|
||||||
|
- Структура: `tests/conftest.py`, `test_utils.py`, `test_tracker.py`, `test_get_params.py`
|
||||||
|
- Роуты с Flask test client + mock HttpClient — отложить (высокая стоимость мокирования)
|
||||||
|
|
||||||
## v1.0.89 (27.07.2026) — Sonnet Round 2: PostgreSQL, auth.py, детальный план
|
## v1.0.89 (27.07.2026) — Sonnet Round 2: PostgreSQL, auth.py, детальный план
|
||||||
|
|
||||||
### Результаты анализа
|
### Результаты анализа
|
||||||
|
|||||||
Reference in New Issue
Block a user