c47c93ab315c792253078377944429de53e2693a
Две ключевые исправления:
1. Потоковая отправка прогресса создания (SSE):
- Эндпоинт CreateWithProgress теперь отправляет Server-Sent Events
вместо возврата JSON с task_id
- Полирует статус задачи и отправляет обновления прогресса в реальном времени
- Отправляет финальное событие с данными прайслиста или ошибкой
- Фронтенд уже ожидал этого формата SSE
2. Исправление маппинга колонки lot_category:
- Добавлен явный тег column в поле Category модели PricelistItem
чтобы маппиться на колонку 'lot_category' в БД
- Категория теперь хранится как снимок в таблице pricelist_items
- Обновлены запросы репозитория для использования сохраненной
категории вместо динамических JOIN с таблицей lot
Это исправляет ошибки:
- "Создание прервано: не получен результат" (фронтенд ожидал streaming)
- "Unknown column 'category' in 'INSERT INTO'" (несоответствие схемы БД)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
PriceForge
PriceForge — администратор цен и прайслистов для работы с данными MariaDB.
Текущее состояние проекта:
- Runtime: MariaDB-only
- Режим запуска: fail-fast (если БД недоступна на старте, сервер завершается)
- Основной интерфейс:
/admin/pricing - Порт по умолчанию:
8084
Возможности
- Администрирование цен компонентов
- Управление прайслистами (Estimate / Склад / Конкуренты)
- Импорт складских данных
- Алерты по ценам и свежести данных
- Диагностика подключения к БД в UI (online/offline индикатор)
Требования
- Go 1.22+
- MariaDB / MySQL с доступом к рабочей базе (например
RFQ_LOG)
Быстрый старт
- Подготовить конфиг:
cp config.example.yaml config.yaml
- Проверить параметры в
config.yaml:
server.port(по умолчанию8084)database.hostdatabase.portdatabase.namedatabase.userdatabase.password
- Запустить сервер:
make run
или
go run ./cmd/pfs
- Открыть:
Миграции
Запуск миграций:
go run ./cmd/pfs -migrate
При обычном запуске SQL-миграции из migrations/ также проверяются автоматически.
Сборка
make build
make build-release
make build-all
Проверка версии:
./bin/pfs -version
Release-артефакты
Скрипт сборки релиза:
./scripts/release.sh
Он создает архивы в releases/<version>/ и файл SHA256SUMS.txt.
Запуск на macOS
После скачивания бинарника может сработать Gatekeeper. Выполните:
xattr -d com.apple.quarantine /path/to/pfs-darwin-arm64
После этого бинарник запустится без предупреждения Gatekeeper.
Основные команды Makefile
make run # запуск dev-сервера
make build # локальная сборка
make build-release # релизная сборка
make build-all # кросс-компиляция для Linux/macOS/Windows
make test # тесты
make clean # очистка артефактов
Важно
Проект сейчас не использует SQLite в runtime-потоке сервера pfs.
Все ключевые операции выполняются напрямую через MariaDB.
Description
Languages
Go
47.2%
CSS
24.7%
JavaScript
16.2%
HTML
11.5%
Makefile
0.2%
Other
0.2%