Files
2026-02-01 17:01:21 +03:00

2.2 KiB
Raw Permalink Blame History

Сохранение в Postgres (шаг 8)

Сохранение анализа главы и тегов в реляционную БД: книга, глава, запись в chapter_analyses, теги в tags, связи в chapter_tags. Вход — merged JSON (шаг 5) с метаданными из этапа 1.

Схема

Перед первым запуском применить схему:

psql -h localhost -U n8n -d n8n -f schema.sql
# или через docker: docker exec -i postgres psql -U n8n -d n8n < 8_сохранение_postgres/schema.sql

Таблицы: books, chapters, chapter_analyses, tags, chapter_tags (см. ARCHITECTURE_SUMMARY.md).

Вход

  • merged JSON (шаг 5): book_id, chapter_id, chapter_number, chapter_title, book_title, author, framework, insights, application, limitations, tags. Метаданные должны быть подмешаны через --input-chapter на шаге 5.

Действия

  1. Upsert книги (books) по book_id.
  2. Upsert главы (chapters) по chapter_id.
  3. Insert/update анализа в chapter_analyses (analysis_result = framework + insights + application + limitations).
  4. Get-or-create тегов в tags (name, category); связи в chapter_tags (chapter_id, tag_id, confidence, validated, source='ai_validation').

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

pip install -r requirements.txt   # один раз
python3 save_to_postgres.py 5_мерж_анализа_и_тегов/merged_with_tags.json [--validation-score 0.95]

Переменные окружения

Переменная По умолчанию Описание
DATABASE_URL Полный URL (postgresql://user:pass@host:port/dbname). Если задан, остальные игнорируются.
POSTGRES_HOST localhost Хост Postgres
POSTGRES_PORT 5432 Порт
POSTGRES_USER n8n Пользователь
POSTGRES_PASSWORD n8n_password Пароль
POSTGRES_DB n8n Имя БД

В Docker используйте POSTGRES_HOST=postgres (имя сервиса).