npm run db:createИли вручную:
./scripts/create-db.shСкрипт создаст:
- Пользователя PostgreSQL:
secondlayer(или изPOSTGRES_USER) - Базу данных:
secondlayer_db(или изPOSTGRES_DB) - Настроит права доступа
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После миграций будут созданы следующие таблицы:
- documents - Документы из Zakononline
- document_sections - Семантические секции документов
- legal_patterns - Юридические паттерны
- embedding_chunks - Чанки для векторного поиска
- citation_links - Связи цитирований между делами
- precedent_status - Статусы прецедентов
- events - События (event table вместо Kafka)
Проверьте, что БД создана и миграции применены:
psql -U secondlayer -d secondlayer_db -c "\dt"Должны быть видны все таблицы.
Запустите скрипт создания БД:
npm run db:createУбедитесь, что у пользователя есть права на создание БД, или используйте 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