Skip to content

Latest commit

 

History

History
129 lines (90 loc) · 3.12 KB

File metadata and controls

129 lines (90 loc) · 3.12 KB

Настройка базы данных

Быстрый старт

1. Создание базы данных и пользователя

npm run db:create

Или вручную:

./scripts/create-db.sh

Скрипт создаст:

  • Пользователя PostgreSQL: secondlayer (или из POSTGRES_USER)
  • Базу данных: secondlayer_db (или из POSTGRES_DB)
  • Настроит права доступа

2. Запуск миграций

npm run migrate

Или все сразу:

npm run db:setup

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

Создайте файл .env:

# PostgreSQL
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=secondlayer_db
POSTGRES_USER=secondlayer
POSTGRES_PASSWORD=secondlayer_password

# Для создания БД (если нужны права superuser)
POSTGRES_SUPERUSER=postgres
POSTGRES_SUPERUSER_PASSWORD=your_postgres_password

Ручная настройка

Если скрипт не работает, создайте БД вручную:

-- Подключитесь как postgres superuser
psql -U postgres

-- Создайте пользователя
CREATE USER secondlayer WITH PASSWORD 'secondlayer_password';

-- Создайте базу данных
CREATE DATABASE secondlayer_db OWNER secondlayer;

-- Выдайте права
GRANT ALL PRIVILEGES ON DATABASE secondlayer_db TO secondlayer;

Затем запустите миграции:

npm run migrate

Структура базы данных

После миграций будут созданы следующие таблицы:

  1. documents - Документы из Zakononline
  2. document_sections - Семантические секции документов
  3. legal_patterns - Юридические паттерны
  4. embedding_chunks - Чанки для векторного поиска
  5. citation_links - Связи цитирований между делами
  6. precedent_status - Статусы прецедентов
  7. events - События (event table вместо Kafka)

Проверка

Проверьте, что БД создана и миграции применены:

psql -U secondlayer -d secondlayer_db -c "\dt"

Должны быть видны все таблицы.

Troubleshooting

Ошибка: "role does not exist"

Запустите скрипт создания БД:

npm run db:create

Ошибка: "permission denied"

Убедитесь, что у пользователя есть права на создание БД, или используйте superuser:

POSTGRES_SUPERUSER=postgres POSTGRES_SUPERUSER_PASSWORD=your_pass npm run db:create

Ошибка подключения

Проверьте, что PostgreSQL запущен:

# macOS
brew services list | grep postgresql

# Linux
sudo systemctl status postgresql

Ошибка миграций

Если миграции падают, проверьте логи:

npm run migrate 2>&1 | tee migration.log