برمجياتقراءة دقيقتين

أداة safe-not-safe المجانية تفحص migrations قاعدة PostgreSQL قبل تنفيذها داخل المتصفح

ظهرت أداة مجانية مفتوحة المصدر اسمها safe-not-safe، ووصلت إلى الصفحة الأولى في Hacker News. تستقبل الأداة ملف migration مكتوبًا بـ SQL، وتحكم على كل statement فيه بأنه آمن أو خطر قبل أن يُنفَّذ على قاعدة البيانات.

والمشكلة التي تعالجها مألوفة لمن يدير قواعد بيانات كبيرة. فعملية migration واحدة قد تقفل جدولًا فيه ملايين الصفوف، فتتوقف الكتابة إليه، ويبدأ الـ API في إرجاع أخطاء 500 بينما يحاول الفريق فهم ما حدث.

تعمل الأداة بالكامل داخل المتصفح. فهي تحلل الكود باستخدام مكتبة libpg_query مبنية بتقنية WebAssembly، ولذلك لا يغادر الـ SQL جهاز المستخدم. ويذكر موقعها أنه لا يوجد API route ولا سجلات ولا حساب.

والجانب الأذكى فيها أنها تأخذ حجم الجدول في الاعتبار، عبر ثلاث شرائح: أقل من 50 ألف صف، ومن 50 ألفًا إلى 5 ملايين، وأكثر من 5 ملايين. فالـ statement نفسه قد يكون آمنًا تمامًا على جدول صغير، وكارثيًا على جدول كبير.

ومن الأمثلة التي تعرضها: إضافة عمود بقيمة default آمنة، وإنشاء index باستخدام CONCURRENTLY آمن، والطريقة الصحيحة لإضافة foreign key هي إنشاؤه أولًا بخيار NOT VALID ثم التحقق منه بخطوة VALIDATE لاحقة.

وقيمة أداة كهذه لا تكمن في تعليم قاعدة جديدة، فأغلب هذه القواعد معروفة. قيمتها أنها تطبق القاعدة في اللحظة التي تُنسى فيها عادة، أي في آخر الليل ومع ضغط إنهاء النشر.

المصادر

  1. الأداة
  2. المستودع على GitHub

من عدد السبت 15 ربيع الآخر - 26 سبتمبر

أخبار ذات صلة

برمجيات

تأخر إصدار Postgres 19، وأحد مطوري المشروع يرجع السبب إلى أن الـ LLMs تكتشف الأخطاء أسرع من قدرة البشر على مراجعتها

المغزى: الذكاء الاصطناعي لم يبطئ المشروع بكود رديء، بل بكشف أخطاء قديمة بسرعة تفوق قدرة المراجعين، فصار عنق الزجاجة في المراجعة البشرية لا في الاكتشاف.

18 جمادى الأولى - 29 أكتوبر

أخبار السبت 15 ربيع الآخر - 26 سبتمبر