කොහේ හෝ වසර තුනක් පුරා ක්රියාත්මක වුණු ව්යාපෘතියක, සියලු migrations නිවැරදිව කළා, CI පරීක්ෂණ හරිතයි, validate සාර්ථකයි. එහෙත් production පරිසරයෙහි හදිසි දෝෂයක් පෙනෙයි – ඒ තීරුවක් දත්තගබඩාවේ පෙනෙයි, එය අනෙකුත් පරිසරයන්හි නොමැතිව.
ඇත්තෙන්ම, ඒ තීරුව කවුරුන් එකතු කරා, කවදා, කුමක් සඳහාද කියා කිසිවකු නොදනි. ඒ වෙනස්කමට කිසිදු migration ගොනුවක් නොමැත. මෙය කණ්ඩායමට පරීක්ෂා කළ සියලු මෙවලම් පසුබැසී, ගොඩනැගුනු “schema drift” එකකි.
ඇයි මෙවැනි ගැටලුව තවමත් හඳුනාගත නොවෙන්නේ? කේතය හා දත්තගබඩාව අතර අසමතුලිතතාවයක් ඇත. Git මගින් code එකේ ඉතිහාසය පූර්ණයෙන්ම පාලනය කරයි; ඒ නිසා commit එකක් පරීක්ෂා කරලා, ඒ commit එකේ අන්තර්ගතය සෑම විටම එකසේ වේ. නමුත් දත්තගබඩාව “පිළිවෙලින්” නැවත ඉදිරිපත් කළ නොහැකි ස්ථාවරයක්. production පරිසරයේ හදිසි ALTER TABLE, GUI client, BI tool, engine version වෙනස්කම් වැනි කරුණු migration ගොනු වලට සලකුණු නොකරයි.
Migration ගොනු “අරමුණේ ලේඛනය” පමණක්; ඒවා දත්තගබඩාවේ වර්තමාන තත්වය නියම කරන්නේ නැත. ඒ නිසා දෙකම වෙනස් වුනොත්, “කොහේද සත්යය?” කියන ප්රශ්නයට උත්තරයක් නැත.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තරුණ devs, startups සහ IT සමාගම් බොහොමයක් CI/CD, GitOps වැනි නවතම ක්රම භාවිතා කරයි. Schema drift හඳුනාගැනීමේ මෙවලම් නොමැතිව, production දෝෂයක් හදිසියේ පෙනෙන්න පුළුවන්. ඒ නිසා:
- ඉගෙනුම් ආකාරය: විශ්වවිද්යාල සිසුන්ට දත්තගබඩාවේ “intent vs reality” වෙනස කෙළින්ම පෙනේ, practical DevOps පළපුරුද්ද වැඩිවේ.
- විකසකයින්ට: migration history එක පරීක්ෂා කරලා, production එකේ අමුතු වෙනස්කම් හඳුනාගැනීමට diff tools (Liquibase, Flyway paid) භාවිතා කළ හැකිය.
- ව්යාපාරිකයින්ට: අනිසි production downtime එකක් වැළැක්වීම, compliance audit වලට සූදානම් වීම, data integrity රැක ගැනීම වැනි ප්රතිලාභ ලැබේ.
එබැවින්, ශ්රී ලංකාවේ තාක්ෂණික පරිසරය මේ ගැටලුවට අවධානයක් යොමු කර, නිවැරදි මෙවලම් හෝ ක්රියාමාර්ග අනුගමනය කරන්නේ නම්, ව්යාපෘති විශ්වාසනීයත්වය සහ තරඟකාරීත්වය ඉහළ යයි.
අවසන් වශයෙන්, migration‑based workflow එකේ “schema එකේ වර්තමාන තත්ත්වය කුමක්ද?” සහ “කොහේද නිවැරදි schema?” යන ප්රශ්නවලට පිළිතුරු සපයන්න, diff/drift detection මෙවලම් අත්යවශ්යයි. මෙය ඔබේ පද්ධතියේ අනාගත සුරක්ෂිතතාවයට මුල් පියවර වේ.