سلام دوستان
🔄 همانطور که قول داده بودم، امروز میخواهم درباره فرآیند انتقال اطلاعات (Data Migration) که پیشتر دربارهاش نوشته بودم، توضیح بدم.
برای انجام یک مهاجرت دادهای تمیز، قابل اعتماد و بدون دردسر، چند مرحله کلیدی را طی کردم:
🖥 1. راهاندازی محیط محلی
اول از همه یک سیستم محلی روی لپتاپم راهاندازی کردم تا بتوانم دیتابیس را کامل و دقیق بررسی کنم.
ساختار جداول، فیلدهای حساس، ارتباطات و ساختارهای درختی را تحلیل کردم تا بدانم هر تغییر چه تبعاتی دارد.
🗂 2. آمادهسازی دیتابیس مقصد
دیتابیسهای مقصد را روی سیستمم بالا آوردم و شروع کردم به نوشتن اسکریپت جداول اصلی.
اینجا نکته مهم این است که ترتیب ساخت جداول را دقیق رعایت کنید؛
چون برخی جداول، دادههای پایهای دارند و اگر ترتیب اشتباه باشد، با چالشهای جدی مواجه میشوید.
🔁 3. ایجاد جدول Duplicate برای مدیریت دادههای تکراری
برای هر جدول، یک جدول جدید به نام Duplicate ساختم.
هر رکوردی که احتمال تکرار ID داشت، وارد این جدول میشد تا بعداً دربارهاش تصمیم بگیرم.
در پروژه فعلی، IDها از نوع GUID هستند، پس احتمال تکرار بسیار کم است — اما وجود این لایه کنترلی ضروری است.
🚚 4. تست انتقال کامل دادهها
ابتدا کدهای تولید داده و انتقال اطلاعات را نوشتم و کل دیتا را جابهجا کردم تا از صحت فرآیند مطمئن شوم.
بعد از تأیید، آن را تبدیل به پکیج کردم تا:
- قابل نگهداریتر باشد،
- برای سایر دیتابیسها هم قابل استفاده باشد،
- و تغییرات در آینده راحتتر اعمال شود.
🛡 5. بکاپگیری قبل از هر مرحله
از دیتابیس خام یک بکاپ کامل گرفتم.
هر زمان فرآیند به مشکل میخورد، بکاپ را ریستور میکردم و دوباره مرحله را تست میکردم.
این کار زمان میگیرد، اما تضمین میکند فرآیند Migration تمیز و مطمئن پیش برود.
✔️ 6. تست نهایی با نرمافزار
در پایان، خروجی را با نرمافزار اصلی تست کردم و خوشبختانه همه چیز درست بود.
📌 در پستهای بعدی، نکات عمیقتر و تجربیات بیشتری را درباره طراحی پکیجهای Migration و چالشهای واقعی پروژهها به اشتراک میگذارم.
شاد باشین.
@Hamidreza_Sadeghian
🔄 همانطور که قول داده بودم، امروز میخواهم درباره فرآیند انتقال اطلاعات (Data Migration) که پیشتر دربارهاش نوشته بودم، توضیح بدم.
برای انجام یک مهاجرت دادهای تمیز، قابل اعتماد و بدون دردسر، چند مرحله کلیدی را طی کردم:
🖥 1. راهاندازی محیط محلی
اول از همه یک سیستم محلی روی لپتاپم راهاندازی کردم تا بتوانم دیتابیس را کامل و دقیق بررسی کنم.
ساختار جداول، فیلدهای حساس، ارتباطات و ساختارهای درختی را تحلیل کردم تا بدانم هر تغییر چه تبعاتی دارد.
🗂 2. آمادهسازی دیتابیس مقصد
دیتابیسهای مقصد را روی سیستمم بالا آوردم و شروع کردم به نوشتن اسکریپت جداول اصلی.
اینجا نکته مهم این است که ترتیب ساخت جداول را دقیق رعایت کنید؛
چون برخی جداول، دادههای پایهای دارند و اگر ترتیب اشتباه باشد، با چالشهای جدی مواجه میشوید.
🔁 3. ایجاد جدول Duplicate برای مدیریت دادههای تکراری
برای هر جدول، یک جدول جدید به نام Duplicate ساختم.
هر رکوردی که احتمال تکرار ID داشت، وارد این جدول میشد تا بعداً دربارهاش تصمیم بگیرم.
در پروژه فعلی، IDها از نوع GUID هستند، پس احتمال تکرار بسیار کم است — اما وجود این لایه کنترلی ضروری است.
🚚 4. تست انتقال کامل دادهها
ابتدا کدهای تولید داده و انتقال اطلاعات را نوشتم و کل دیتا را جابهجا کردم تا از صحت فرآیند مطمئن شوم.
بعد از تأیید، آن را تبدیل به پکیج کردم تا:
- قابل نگهداریتر باشد،
- برای سایر دیتابیسها هم قابل استفاده باشد،
- و تغییرات در آینده راحتتر اعمال شود.
🛡 5. بکاپگیری قبل از هر مرحله
از دیتابیس خام یک بکاپ کامل گرفتم.
هر زمان فرآیند به مشکل میخورد، بکاپ را ریستور میکردم و دوباره مرحله را تست میکردم.
این کار زمان میگیرد، اما تضمین میکند فرآیند Migration تمیز و مطمئن پیش برود.
✔️ 6. تست نهایی با نرمافزار
در پایان، خروجی را با نرمافزار اصلی تست کردم و خوشبختانه همه چیز درست بود.
📌 در پستهای بعدی، نکات عمیقتر و تجربیات بیشتری را درباره طراحی پکیجهای Migration و چالشهای واقعی پروژهها به اشتراک میگذارم.
شاد باشین.
@Hamidreza_Sadeghian
❤15