سؤال

أنا من خلفية بايثون.لقد تم تكليفي بالتحليل لدمج جزء كتالوج المنتج فقط في MongoDB وستظل جميع الوظائف الأخرى في MySQL.نظرًا لأنني جديد جدًا على Magento (حتى php)، فيرجى إبلاغي ببعض الأسئلة أدناه.

  1. هل من الممكن أن تفعل ذلك؟
  2. إذا كانت الإجابة بنعم (وفقًا لواجبي المنزلي)، ما هو أفضل ORM/ODM مناسب لهذه المهمة؟
  3. هل نحتاج إلى تغيير الكثير من التعليمات البرمجية المضمنة في كود mogento لدمجها؟
  4. واسمحوا لي أن أعرف أي أشياء أخرى، أنا بحاجة للقلق.

إليك بعض الروابط التي حصلت عليها من جوجل.

من فضلك حاول أن تفهم، ربما أسأل سؤالًا سخيفًا للغاية ولكن ليس لدي أي فكرة عن هذا.من فضلك لا التصويت السلبي عليه.من فضلك لا تتردد في الحصول على إجابة من نوع المناقشة.

شكرا لك مقدما.

هل كانت مفيدة؟

المحلول

هذا غير ممكن في الماجنتو الافتراضي.أعني أنه يمكنك جعل Magento يعمل حسب رغبتك، لكنها ستكون مهمة صعبة.السبب هو :

"يستخدم Magento ملفًا واحدًا لتكوين قاعدة البيانات الخاصة به (app\etc\local.xml).هناك يمكنك تحديد مثيل قاعدة بيانات واحد فقط."

لذلك، من أجل تحقيق ذلك، تحتاج إلى استخدام ملفين xml من هذا القبيل.واحد لـ mySql والآخر لـ MongoDB.فأنت حقًا بحاجة إلى تعديل الملف الأساسي Mage.php الذي يعامل على أنه ممارسة سيئة للغاية.

لمزيد من المعلومات، يمكنك الرجوع إلى هذا الموضوع, ، أين @برونتوإجابة ذات صلة بحالتك، والتي أقتبسها أدناه:

تأتي معلومات قاعدة البيانات من ملف xml واحد:App/etc/local.xml يتم تحميل هذا الملف من App/mage.php ، لذا إذا قمت بتغيير هذا الملف ، فيمكنك تحديد ملف التكوين الذي ستعمل عليه (استنادًا إلى الشرط المطلوب ، مثل اسم المجال).Voila ، مجال مختلف ، قاعدة بيانات مختلفة.الآن يأتي جزء الأخبار السيئة (tm).

  1. أنت تقوم بالكتابة فوق الكود الأساسي وما يسمى "فئة الإله" في ذلك الوقت.تعتبر هذه ممارسة سيئة للغاية في عالم ماجنتو!في كل مرة تقوم فيها بترقية التغييرات ، سيتم الكتابة فوقها.

  2. تداخل المحتوى.لا يتم تخزين كل المحتوى الخاص بك في قاعدة البيانات ، وهناك أيضًا مجلد الوسائط ، وهناك مجلد جلسة (VAR/SETATE) ، إما تحتاج إلى العثور على حلول (على سبيل المثال مسارات مخصصة على أساس قاعدة البيانات) أو تخزين كل من الصور والجلسات في قاعدة البيانات (قبل قبل أنت تسأل:نعم هذا ممكن).

  3. مخبأ.من المؤكد أنك لا تريد أن تشارك المتاجر المختلفة مجلد ذاكرة التخزين المؤقت (var/cache).لحسن الحظ ، من الممكن استخدام ذاكرة التخزين المؤقت الخارجية ، مثل Memcached بدلاً من تخزين الملفات لهذا المجلد.لا يزال يجب عليك التأكد من أن معرف ذاكرة التخزين المؤقت لن يتداخل ، لأنه إذا فعلوا ذلك ، فستكون في عالم الأذى.

  4. لا يمكنك استخدام الترجمة (تم إهمال الميزة على أي حال).

  5. ربما شيء آخر نسيته.أي واحد؟

توصيتي هي الاستمرار بقاعدة بيانات واحدة.سيكون هذا هو النهج الأفضل والأكثر موثوقية والأداء.في معظم الحالات، ستؤثر التغييرات التي تحتاج إلى إجرائها لتحقيق ذلك على الأداء بشكل سيء.

يحرر

هناك امتداد والتي يمكنك استخدامها كنقطة انطلاق.لم أستخدم هذا من قبل.لكنني أعتقد أن هذا يمكن أن يوفر لك نقطة انطلاق

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top