# 🚀 راهنمای سریع - FourSat Data Migration ## قدم 1: ویرایش تنظیمات ```bash cd /home/masoud/Apps/project/FourSat/DataMigration/FourSat.DataMigration nano appsettings.json ``` **تغییرات ضروری:** ```json { "ConnectionStrings": { "SourceDatabase": "Server=185.252.31.42,2019;Database=Foursat;User Id=YOUR_USERNAME;Password=YOUR_PASSWORD;TrustServerCertificate=True;Encrypt=False;", "TargetDatabase": "Server=194.5.195.53,31433;Database=Foursat;User Id=YOUR_USERNAME;Password=YOUR_PASSWORD;TrustServerCertificate=True;Encrypt=False;" } } ``` ⚠️ حتماً `YOUR_USERNAME` و `YOUR_PASSWORD` را وارد کنید! --- ## قدم 2: اجرای Migration ```bash dotnet run ``` **خروجی مورد انتظار:** ``` [12:30:15 INF] === FourSat Data Migration Tool === [12:30:15 INF] Starting application... [12:30:16 INF] === Starting Data Migration === [12:30:16 INF] Source: Server=185.252.31.42,2019 [12:30:16 INF] Target: Server=194.5.195.53,31433 [12:30:17 INF] Source: 33 tables found [12:30:17 INF] Mapping: Categorys → Categories [12:30:17 INF] Mapping: Productss → Products [12:30:17 INF] Mapping: FactorDetailss → FactorDetails ... (همه 33 table) [12:35:42 INF] === Migration Complete === [12:35:42 INF] Success: 33 tables, 50,000+ records [12:35:42 INF] Failed: 0 tables [12:35:42 INF] Duration: 00:05:27 [12:35:42 INF] === Starting Post-Migration Data Transformation === [12:35:46 INF] Post-migration transformation completed successfully ``` --- ## قدم 3: بررسی Logs ### Console (Real-time): - لاگ‌ها مستقیماً در terminal نمایش داده می‌شوند ### File (برای بررسی بعدی): ```bash ls -lh Logs/ cat Logs/migration-20251206.txt # یا tail -f Logs/migration-20251206.txt # Real-time ``` --- ## توقف (در صورت نیاز) ```bash Ctrl+C ``` ⚠️ **توجه**: Migration از وسط متوقف می‌شود. برای ادامه باید: 1. Target database را TRUNCATE کنید 2. دوباره `dotnet run` کنید --- ## عیب‌یابی سریع ### خطا: "Login failed" ```bash # چک کنید: Username/Password در appsettings.json # چک کنید: IP شما در Firewall مجاز است ``` ### خطا: "Table not found" ```bash # بررسی: Table در Target database وجود دارد؟ # راه حل: Migration بزنید یا Table را ایجاد کنید ``` ### خطا: "Timeout" ```bash # راه حل: در appsettings.json BatchSize را کم کنید "BatchSize": 500 # به جای 1000 ``` --- ## تنظیمات پیشرفته ### برای سرعت بیشتر (Network سریع): ```json { "MigrationSettings": { "BatchSize": 5000, "MaxConcurrentTables": 5 } } ``` ### برای پایداری بیشتر (Network کند): ```json { "MigrationSettings": { "BatchSize": 500, "MaxConcurrentTables": 2, "MaxRetryAttempts": 10 } } ``` --- ## حذف پروژه (بعد از اتمام کار) ```bash cd /home/masoud/Apps/project/FourSat rm -rf DataMigration/ ``` --- ## پشتیبانی **در صورت خطا:** 1. لاگ فایل را بررسی کنید: `Logs/migration-*.txt` 2. خطای کامل را یادداشت کنید 3. با تیم Dev در میان بگذارید --- **نسخه:** 1.0 **تاریخ:** December 6, 2025 **وضعیت:** ✅ آماده برای استفاده