SQLAlchemy هي مجموعة أدوات Python SQL ومخطط ربط الكائنات الذي يمنح مطوري التطبيقات كل قوة ومرونة SQL.
الفريق وراء SQLAlchemy مؤخرًا ، أداة SQL مفتوحة المصدر ورسم خرائط كائن مكتوب بلغة Python ، صدر الافراج عن النسخة الجديدة 2.0.
بالنسبة لأولئك الذين ليسوا على دراية بـ SQLAlchemy ، يجب أن تعرف ذلك هي مجموعة أدوات python sql ومخطط علاقي للكائنات، يوفر مجموعة شاملة من نماذج الثبات المعروفة المصممة للوصول الفعال وعالي الأداء إلى قاعدة البيانات ، والمصممة بلغة نطاق Pythonic بسيطة.
الميزات الجديدة الرئيسية في SQLAlchemy 2.0
الإصدار الجديد 2.0 من يصل SQLAlchemy مع تغييرات كبيرة في واجهة برمجة التطبيقات مقارنة بالسلسلة 1.4مع هذا ، من المهم ملاحظة أن التطبيقات التي تعمل مع مجموعة 1.x ولم تمر بعملية الترحيل يجب أن تضمن تحديد المتطلبات للحفاظ على المجموعة الرئيسية المطلوبة من إصدارات SQLAlchemy في مكانها.
يدمج SQLAlchemy 2.0 تراكيب ORM جديدة متوافقة مع pep-484 لا يوجد مكون إضافي: أصبح النمط التصريحي لـ ORM لتكوين مخطط الخرائط الآن مظهرًا جديدًا تمامًا ، حيث يتم الاقتراض بشكل كبير من أنظمة مثل فئات بيانات Python و SQLModel لتوفير عبارات ORM القائمة على التعليقات التوضيحية ، باستخدام تفسير وقت التشغيل للتعليقات التوضيحية pep-484 لإنتاج فئات معينة التي يتم كتابتها بشكل كامل ومتوافقة مع أي نوع من أجهزة الاختبار أو IDE.
آخر التغييرات التي تبرز في هذا الإصدار الجديد من SQLAlchemy 2.0 تحديث هو أن يقدم دعمًا لفئة معينة تعريفيًا مشروحة يمكن إنشاؤها مباشرة كفئة بيانات بايثون ؛ يؤدي هذا إلى إعلان فئة تعيين ORM مثل أي فئة أخرى ، باستخدام طرق فئة البيانات التي تم إنشاؤها تلقائيًا. تم تحسين هذا النهج الجديد إلى حد كبير على الطرق "الهجينة" المؤقتة المقدمة في SQLAlchemy 1.4.
بالإضافة إلى ذلك ، يمكننا أن نجد أيضًا أنه يقدم تحسينات في مخطط انعكاس العمارة وهو في الأساس جديد تقريبًا ، منذ الآن العمليات التي تعكس مخططات كاملة مرة واحدة، مثل MetaData.reflect والعمليات المضافة حديثًا على مستوى المخطط باستخدام بنية inspec ، فهي الآن تستند إلى أساس يفترض العمليات التي تعمل على مئات أو آلاف الجداول في وقت واحد، بدلاً من جدول واحد في كل مرة.
تم تمكين البنية الجديدة للخلفيات الخلفية لـ PostgreSQL و Oracle، اللذان كانا يمثلان الواجهة الخلفية مع أكبر مشكلات الأداء للمخططات الكبيرة ، حيث توفر تحسينًا بنسبة 250٪ لـ PostgreSQL وتحسينًا بنسبة 900٪ لـ Oracle. لغة SQL Server هي الهدف التالي للهندسة الجديدة. يمكن لأي لهجة تابعة لجهة خارجية أن تختار نظام "العديد من الطاولات مرة واحدة" الجديد أو البقاء على نهج "الجدول في وقت واحد" القديم ، والذي يظل مدعومًا بالكامل بدون تغييرات.
وعلاوة على ذلك، تم اقتراح نهج جديد تمامًا لـ INSERT، متكامل تمامًا مع ORM ، والذي عادةً ما يكون ترتيبًا من حيث الحجم أسرع في معظم الخلفيات - معظم قواعد البيانات و أضافت برامج التشغيل التي تدعمها SQLAlchemy الآن أو حسنت دعمها لبناء الجملة أدخل الإرجاع.
النسخة الجديدة من انتهز SQLAlchemy 2.0 الفرصة لدعم وتحسين دعم RETURNING صلجميع الخلفيات الخاصة بك ، باستثناء MySQL (MySQL فقط ؛ MariaDB يدعم RETURNING الأحمال).
يتمثل جزء من هذا التحسين في القدرة على إدراج آلاف الصفوف في بيان دفعة واحدة يُرجع أيضًا مجموعة كاملة من القيم التي ينشئها الخادم والمطلوبة بواسطة ORM ، وهو أمر لم يكن ممكنًا من قبل ، مع استثناء وحيد للتنفيذ المؤقت . والذي كان قائمًا على برنامج التشغيل psycopg2.
في الإصدار 2.0 تم العمل على تحسين INSERT لجميع الخلفيات ، بحيث يمكن لآلاف كائنات ORM مع أو بدون مفاتيح أساسية وهذه القدرة مدمجة بالكامل في ORM لجميع عمليات INSERT ، لكل من عمليات وحدة العمل "العادية" لعمليات ORM "العادية" والنهج "المجمع" ، والتي تمت مراجعتها مؤخرًا أيضًا في الإصدار 2.0.
أخيرًا ، إذا كنت مهتمًا بمعرفة المزيد عنها ، يمكنك الرجوع إلى التفاصيل في الرابط التالي.
وتجدر الإشارة إلى أن الإصدار الجديد من SQLAlchemy 2.0 يعد إصدارًا مهمًا بدرجة كافية للحصول على دليلي ترحيل: دليل الترحيل الرئيسي يشرح كيفية ضمان توافق API لتطبيق ما للعمل على SQLAlchemy 1.4 أو 2.0.