محرر SQL تعاوني
اكتبوا استعلامات SQL معًا في الوقت الفعلي باستخدام مؤشرات كتابة مشتركة، وتحققوا من صحتها أو نسّقوها أو صغّروا حجمها للجميع.
ملف القراءة
ما هو التحرير التعاوني لـ SQL؟
يتيح التحرير التعاوني لـ SQL لعدة أشخاص كتابة الاستعلامات ومراجعتها في الوقت نفسه، كلٌّ من متصفحه الخاص. وهو مفيد للعمل على استعلام مع زميل، أو مراجعة عملية ترحيل معًا، أو تعليم SQL، من دون مشاركة الشاشة أو لصق الاستعلامات في المحادثة.
لضمان تطابق النسخ لدى الجميع، تُرسل التغييرات على هيئة تعديلات صغيرة بدلًا من إرسال النص كاملًا، ويتولى خادم واحد تحديد ترتيب تطبيقها. وتُنسَّق التعديلات التي أُجريت في اللحظة نفسها بعضها مع بعض، بحيث تُحفظ جميعها.
وصف الأداة
هذه الأداة محرر SQL مشترك مع تمييز بناء الجملة. افتحه وأرسل الرابط: سيحرر الجميع الاستعلامات نفسها في الوقت الفعلي، ويرون مؤشرات الآخرين، ويمكن لأي شخص التحقق من صحة SQL أو تنسيقه أو تصغيره للجميع بنقرة واحدة.
يحلل التحقق من الصحة SQL باستخدام node-sql-parser. ويضع التنسيق كل عبارة رئيسية (SELECT وFROM وWHERE وJOIN وغيرها) في سطر مستقل، من دون المساس بالسلاسل النصية والتعليقات، بينما يضع التصغير الاستعلام في سطر واحد. ويستبدل النص الجديد الأسطر التي تغيرت فقط، لذا يظل ما يكتبه الآخرون في أثناء ذلك في موضعه.
الميزات
- التحرير في الوقت الفعلي - تظهر تغييرات الجميع فورًا، وتُدمج التعديلات عندما يكتب الأشخاص في الوقت نفسه
- المؤشرات والتحديدات - تعرّف على موضع كل شخص من اللون الظاهر بجوار اسمه
- التحقق من الصحة - يفحص إمكانية تحليل SQL، ويعرض رسالة المحلل عند تعذر ذلك
- التنسيق والتصغير - رتّب الاستعلام عبارةً تلو الأخرى، أو اختصره في سطر واحد، للجميع في الغرفة
- النسخ والتنزيل - احتفظ بنسخة من الاستعلامات في ملف .sql
آلية العمل
عند فتح الصفحة، تُنشئ غرفة على خادم المزامنة وتضع رابطها في شريط العناوين. وينضم كل من يفتح الرابط إلى الغرفة نفسها ويرى المستند نفسه.
يُرسل كل تغيير إلى الخادم على هيئة وصف موجز لما تغير - الأحرف التي أُدرجت أو حُذفت ومواضعها - بدلًا من إرسال النص كاملًا. ويرتب الخادم تغييرات الجميع في تسلسل واحد، وينقل التغيير الذي أُجري على نسخة أقدم إلى ما بعد التغييرات التي سبقته، ثم يرسل النتيجة إلى الآخرين. ويظهر ما تكتبه أنت فورًا، وتُدمج التغييرات الواردة من الآخرين حوله، فلا يُفقد ما يكتبه أي شخص عندما يحرر شخصان في اللحظة نفسها.
يُحفظ المستند في ذاكرة الخادم فقط ما دامت الغرفة مفتوحة. وإذا أعدت تحميل الصفحة، فستعود إلى الغرفة ويظهر النص كما كان؛ وبمجرد مغادرة الجميع، تُحذف الغرفة ونصها.
القيود
- تستوعب الغرفة ما يصل إلى 20 شخصًا و100,000 حرف.
- لا يُخزَّن أي شيء بعد إغلاق الغرفة. نزّل النص قبل مغادرة آخر شخص.
- تُرفض التغييرات الكبيرة جدًا أو السريعة جدًا، مثل لصق المستند كاملًا عدة مرات متتالية، ويُعاد تحميل نص الغرفة في المحرر.
- يؤدي فتح رابط غرفة في محرر تعاوني آخر (مثل غرفة SQL في محرر JavaScript) إلى ظهور رسالة «الغرفة غير موجودة»: فلكل غرفة لغة واحدة.
- يقتصر التحقق من الصحة على فحص بناء الجملة. ولا تُنفَّذ الاستعلامات مطلقًا على قاعدة بيانات.