# ارتقا به نسخه ۴.۲

روت‌های قبلی حفظ شده و هفت روت /api/text-imports اضافه شده‌اند. قالب سه‌خطی قبلی در روت جدید هم پذیرفته می‌شود؛ پاسخ جدید یک Import با documents است، نه یک Trade تنها. فرانت قدیمی نیاز به تغییر اجباری ندارد.

ابتدا روی کپی دیتابیس تست کنید و بکاپ قابل بازیابی داشته باشید. برنامه قبلی را متوقف، فایل‌ها را جایگزین و .env واقعی را حفظ کنید:

```bash
npm ci
npm run setup
npm start
```

migration جدید 20260925000000_text_imports فقط جدول TextImport، indexها و رابطه مالک با User را اضافه می‌کند. سه migration قبلی دست‌نخورده‌اند. اسناد و پرداخت‌های قدیمی تغییر نمی‌کنند و به‌صورت ساختگی وارد تاریخچه متن نمی‌شوند. TradePreview موجود برای پیش‌نمایش‌های جدید هم استفاده می‌شود؛ هش قالب جدید با پیش‌نمایش معمولی متفاوت است.

روی دیتابیس دارای داده SQL کامل import نکنید. نصب خالی با migration پیشنهاد می‌شود؛ import دستی SQL و چهار resolve در sql/README_FA.md مسیر جایگزین‌اند. نصب قدیمی با SQL دستی ابتدا نیاز به baseline مطابق راهنمای همان نسخه دارد؛ migration جدید را قبل از اجرا resolve نکنید.

```bash
docker compose -f compose.test.yaml up --build --abort-on-container-exit --exit-code-from test
```

این تست فقط برای دیتابیس مستقل آزمایشی است. در محیط ساخت MySQL اجرا نشده است؛ تمرین ارتقا و تست واقعی پیش از استفاده عملیاتی لازم است.

سرویس‌های حسابداری اکنون تراکنش موجود را برای ثبت گروهی می‌پذیرند؛ فراخوانی‌های قبلی همان تراکنش مستقل را دارند. گروه متن حداکثر ۲۰ رکورد و ۳۰ ثانیه مهلت تراکنش دارد. خطای هر مرحله کل گروه را برمی‌گرداند؛ با همان کلید درخواست را تکرار کنید.
