ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-28, Tuesday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

SQLite UNIQUE නියමය සමඟ ලයික්‑ඩිස්ලයික් එකම පෝස්ට් එකේ එකවර නොවීමට පියවර

SQLite UNIQUE නියමය සමඟ ලයික්‑ඩිස්ලයික් එකම පෝස්ට් එකේ එකවර නොවීමට පියවර

ඔබගේ ෆෝරම් යෙදුමේ ලයික් සහ ඩිස්ලයික් බොත්තම් ක්ලික් කිරීමේදී, එකම පෝස්ට් එකේ දෙකම එකවර ලියාපදිංචි වීමේ ගැටලුවක් ඇතිවිය හැකිය. මේක අසාමාන්‍යයක්, පෝස්ට් එකේ එක් පරිශීලකයෙකුට එකවර ලයික් සහ ඩිස්ලයික් දෙකම තිබිය නොහැක. මේ ලිපියෙන් Go + SQLite භාවිතා කරමින් ඒ ගැටලුව කෙලින්ම දුරලීමට ක්‍රමයක් පෙන්වයි.

ප්‍රශ්නයේ මුල: සරලව, ලයික් බොත්තමක් ක්ලික් කළ විට INSERT INTO reactions … වැනි SQL විධානයක් ක්‍රියාත්මක කරමින් නව පේළියක් ඇතුළත් කළා. පරිශීලකයා ඊළඟට ඩිස්ලයික් බොත්තම ක්ලික් කළහොත්, දෙකම වටිනාකම (1 හා -1) සමඟ වෙනම පේළි දෙකක් සටහන් විය. එයින් ලයික් සහ ඩිස්ලයික් ගණන දෙකම එකවර වැඩි වීම සිදුවිය.

දෘඩාංග විසඳුම: මෙය යෙදුමේ ලොජික් මට්ටමේ පමණක් නිරාකරණය කිරීමේ බර පවත්වන තැනැත්තන් වෙනුවට, SQLite තුළ UNIQUE (user_id, target_type, target_id) නියමයක් එක් කිරීමෙන් පරිශීලක‑පෝස්ට් සම්බන්ධතා එකවර එකම වාරයක් පමණක් තිබේ යැයි පද්ධතියට පවසන්න. එවිට ද්විත්ව පේළි ඇතුළත් කිරීම උත්සාහ කළ විට දත්ත ගබඩාව පවා දෝෂයක් දක්වයි.

එම නියමය එක් කළ පසු, යෙදුමේ ලොජික් ඉතා සරලයි. පළමුව පවතින ප්‍රතික්‍රියාවක් තිබේදැයි පරීක්ෂා කර, තේරීම් තුනක් පමණක් සිදු කරයි:

  • ප්‍රතික්‍රියාවක් නැත්නම් – නව ලයික්/ඩිස්ලයික් පේළිය ඇතුළත් කරයි.
  • එකම බොත්තම නැවත ක්ලික් කළහොත් – පේළිය මකා දමයි (toggle off).
  • වෙනත් බොත්තම ක්ලික් කළහොත් – වටිනාකම යාවත්කාලීන කරයි (like ↔ dislike).

මෙම ක්‍රියාවලිය පරිශීලකයාගේ අරමුණට සම්පූර්ණයෙන් ගැලපේ: පළමු ක්ලික් – ප්‍රතික්‍රියාව සටහන් වේ; ඒකම බොත්තම නැවත – ප්‍රතික්‍රියාව ඉවත් වේ; වෙනත් බොත්තම – ප්‍රතික්‍රියාව වෙනස් වේ.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

ශ්‍රී ලංකාවේ තරුණ සංවර්ධකයන්, විශ්වවිද්‍යාල සිසුන්, හා ස්ථාපිත තාක්ෂණික ව්‍යාපාර සඳහා මෙම සරල නියමය විශාල ප්‍රයෝජන දෙයි.

  • දෝෂ හරහා ඉගෙනීම – දත්ත ගබඩාවේ නියමයක් භාවිතා කිරීමේ හොඳම පුරුදු රීතියක් අත්හදා බැලීම, කාර්ය මණ්ඩලයේ කුසලතා වැඩි කරයි.
  • ආරක්ෂාව සහ නිරවද්‍යතාව – දෝෂයෙන් ලයික්/ඩිස්ලයික් දෙකම එකවර පෙන්වීම වළක්වා, පරිශීලක විශ්වාසය ඉහළ ගනී.
  • වේගවත් සංවර්ධනය – ඇප් එකේ ලොජික් කේතය කෙටි කර, කාර්ය සාධන කාලය අඩු කර, ඉක්මනින් MVP (Minimum Viable Product) නිකුත් කිරීමේ හැකියාව ලබා දෙයි.

ඉතිං, SQLite වැනි ලාභදායී, මෘදුකාරක දත්ත ගබඩාවක් භාවිතා කරන සෑම ශ්‍රී ලංකා තාක්ෂණික ව්‍යාපෘතියක්‌ම මේ නියමය ඇතුළත් කරගත හැකිය. එය කුඩා පරීක්ෂණයක් පමණක් නොව, සාර්ථකව වැඩ කරන නිෂ්පාදනයක් බවට පත් කරයි.

අවසානයේ, එක් UNIQUE නියමයක් එක් කිරීමෙන් ලොකු පරිමාණයේ වැරදි ලොජික් ලේඛන ලියන කාර්යයෙන් මිදීමට හැකිවීම, ශ්‍රී ලංකාවේ තාක්ෂණික සංවර්ධනයේ තවත් එක් පියවරක් වේ.

💡 ඔබේ යෙදුමට අදම UNIQUE නියමයක් එක් කර බලන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#SQLite #Go #Database #Reaction #WebDev