একক ইনস্টলেশন, একাধিক ডাটাবেস


11

একটি ইনস্টলেশন করা সম্ভব, এবং এই ইনস্টলেশন থেকে বিভিন্ন ডাটাবেস সহ একাধিক দোকান করা সম্ভব?

আমি ডেটাবেস দিয়ে ডোমেন 1 এ একটি ইনস্টলেশন করব এবং অ্যাডমিন থেকে আমি একটি নতুন ওয়েবসাইট এবং ডোমেন 2 এর জন্য কিছু নতুন ডাটাবেসে একটি দোকান ক্রেট করব

আমি জানি যে একাধিক স্টোর একটি ডাটাবেস দিয়ে অর্জন করা যেতে পারে। তবে এটি বিভিন্ন ডাটাবেসের সাথে একই হতে পারে।


আপনার 2 ডেটাবেস কেন প্রয়োজন তা আপনি ব্যাখ্যা করতে পারেন? এটি কি মাস্টার / স্লেভ কনফিগারেশন বা কেবল দুটি পৃথক ডাটাবেস রাখতে চান?
মারিয়াস

আমি কেবল 2 পৃথক ডাটাবেস রাখতে চাই। আমার একটি পৃথক ডাটাবেস সহ আলাদা আলাদা দুটি স্টোর দরকার।
মাইক

উত্তর:


3

দুর্দান্ত উত্তর স্লেয়ার্ক। আমরা খুব অনুরূপ কিছু করেছি। ইনডেক্স.এফপি সম্পাদনা করার পরিবর্তে আমরা ম্যাজেন্টোর কোডবেসের বাইরে আলাদা ফোল্ডার সেটআপ করি এবং সেই ফোল্ডারগুলি থেকে mage.php অন্তর্ভুক্ত করি এবং তারপরে উপরের পদ্ধতিতে যেমন__ডির (এবং অন্যান্য ডায়ার) সম্পাদনা করি।

ফোল্ডার কাঠামো:

/ www / ক্লায়েন্ট 1
/ www / ক্লায়েন্ট 2
/ www / ক্লায়েন্ট 3
/ www / ক্লায়েন্টএক্স
/ www / ম্যাজেন্টো

প্রতিটি ক্লায়েন্ট ফোল্ডারের ভিতরে রয়েছে:

  • /www/clientx/etc/local.xml (অনন্য ডাটাবেস সংজ্ঞায়িত, এবং অনন্য redis db সহ)
  • / www / ক্লায়েন্টেক্স / ইত্যাদি / মডিউলগুলি (এটি / www / magento / অ্যাপ / ইত্যাদি / মডিউলগুলির সাথে সিম লিঙ্ক)
  • /www/clientx/index.php

ইন /www/clientx/index.php

define('MAGENTO_ROOT', '/www/magento');

... (সূচি.এফপি এর বাকি অংশ যথারীতি ব্যবসা) ...

$client = isset($_SERVER['CLIENT_ID']) ? $_SERVER['CLIENT_ID'] : '';] Mage::run($mageRunCode, $mageRunType, array('etc_dir'=>'../'.$client));

শেষ ঘন্টা

$_SERVER['CLIENT_ID'] in Nginx with 
`fastcgi_param  CLIENT_ID clientx; `

5

বাক্সের বাইরে এটি সম্ভব বলে আমি মনে করি না। ম্যাজেন্টো মাস্টার / স্লেভ ডাটাবেস কনফিগারেশন সমর্থন করে, তবে আপনার কাছে সমস্ত স্টোরের জন্য এটি থাকা উচিত।
এবং আমি মনে করি না যে কাস্টম কোডিংয়ের মাধ্যমে এটি সহজেই করা যায়, যেহেতু স্টোরগুলি ডাটাবেসে রাখা থাকে।

সুতরাং স্টোর ভিউয়ের উপর নির্ভর করে আপনাকে কোন ডাটাবেসে কানেক্ট করতে হবে তা জানতে হবে, তবে স্টোর ভিউটি জানতে আপনার একটি ডাটাবেসটি জিজ্ঞাসা করতে হবে। সুতরাং আপনি চেনাশোনাগুলিতে প্রায় দৌড়ান।


3

আপনি একক কোডবেস ব্যবহার করে তাদের নিজস্ব ডেটাবেস সহ আলাদা আলাদা স্টোর রাখতে চান?

ভাল, এটি করার কোনও সহজ এবং প্রস্তাবিত উপায় নেই। বলা হচ্ছে যে আমরা কী করতে পারি তা দেখতে পাচ্ছি:

ডাটাবেস তথ্যগুলি একটি একক এক্সএমএল ফাইল থেকে আসে: অ্যাপ্লিকেশন / ইত্যাদি / স্থানীয়.xml এই ফাইলটি অ্যাপ / ম্যাজ.এফপি থেকে লোড করা হচ্ছে তাই আপনি যদি সেই ফাইলটি পরিবর্তন করেন তবে আপনি কোন কনফিগারেশন ফাইলটি লোড করতে চলেছেন তাত্ত্বিকভাবে সিদ্ধান্ত নিতে পারেন (পছন্দসই ভিত্তিতে) শর্ত, যেমন ডোমেন নাম)। ভয়েলা, বিভিন্ন ডোমেন, বিভিন্ন ডাটাবেস। এখন আসে খারাপ নিউজ পার্ট (টিএম)।

  1. আপনি মূল কোড ওভাররাইট করছেন এবং তথাকথিত "গড ক্লাস"। এটি ম্যাজেন্টো বিশ্বে খুব খারাপ অভ্যাস হিসাবে বিবেচিত হয়! প্রতিবার আপনি আপগ্রেড করলে আপনার পরিবর্তনগুলি ওভাররাইট করা হবে ten
  2. সামগ্রীতে ওভারল্যাপিং। আপনার সমস্ত বিষয়বস্তু ডাটাবেসে সংরক্ষণ করা হয় না, সেখানে মিডিয়া ফোল্ডারও রয়েছে এবং সেশন ফোল্ডারও রয়েছে (ভের / সেশন) আপনার জন্য কোনও কাজের সন্ধান করতে হবে (উদাহরণস্বরূপ ডাটাবেসের ভিত্তিতে কাস্টম পাথ) অথবা ডাটাবেসে চিত্র এবং সেশন উভয়ই সংরক্ষণ করতে হবে (এর আগে) আপনি জিজ্ঞাসা: হ্যাঁ, এটি সম্ভব)।
  3. ক্যাশে। আপনি অবশ্যই চান না যে আপনি বিভিন্ন স্টোরের ক্যাশে ফোল্ডার ভাগ করুন (var / cache)। ভাগ্যক্রমে বাহ্যিক ক্যাশেগুলি ব্যবহার করা সম্ভব, যেমন ফোল্ডারে ফাইল সঞ্চয় করার পরিবর্তে মেমক্যাচ করা। তবুও আপনাকে অবশ্যই নিশ্চিত করতে হবে যে আপনার ক্যাশে আইডি-গুলি ওভারল্যাপ হবে না, কারণ তারা যদি তা করে তবে আপনি আঘাতের জগতে চলে যাবেন।
  4. আপনি সংকলন ব্যবহার করতে পারবেন না (বৈশিষ্ট্যটি যাইহোক হ্রাস করা হয়েছে)।
  5. হয়তো অন্য কিছু ভুলে যাচ্ছি। যে কেউ?

2

আমি এই এক্সটেনশানটি সবেমাত্র পেয়েছি:
https://github.com/steverobbins/Magento- মাল্টি_স্লায়েন্ট

Magento মাল্টি ক্লায়েন্ট
একই Magento কোড বেসে একাধিক ক্লায়েন্ট হোস্ট।

প্রতিটি ক্লায়েন্টের নিজস্ব লোকাল.এক্সএমএল এবং ইত্যাদি / মডিউল.এক্সএমএল থাকে। এটি আপনাকে প্রতি ক্লায়েন্টের জন্য পৃথক ডাটাবেস এবং ক্যাশিং পরিষেবা নির্দিষ্ট করার পাশাপাশি অনুরোধ অনুসারে মডিউলগুলি সক্ষম / অক্ষম করতে দেয় allows

প্রতিটি ক্লায়েন্ট তাদের স্বাধীনতা বজায় রাখে তবে একটি কোড বেস ভাগ করে।

এটিকে ম্যাজেন্টো ওয়েবসাইটগুলি হোস্ট করার ক্ষেত্রে একটি ম্যাজেন্টো গো-এস্কো পদ্ধতির বিবেচনা করা যেতে পারে।


2

কনফিগারেশন ফাইলগুলি রাখতে এবং সূচি.পিএইচপিতে আপনাকে একটি নতুন ফোল্ডার তৈরি করতে হবে যা আপনি ম্যাগ :: রান () এ বিকল্পগুলির একটি অ্যারে যুক্ত করবেন।

সেই ফোল্ডারে আপনার কাছে মডিউল ফোল্ডার সহ অ্যাপ্লিকেশন / ইত্যাদি / এর মতো সমস্ত সামগ্রী থাকবে।

প্রথম ডোমেন:

Mage::run($mageRunCode, $mageRunType, array('etc_dir'=>'app/domain1'));

দ্বিতীয় ডোমেন:

Mage::run($mageRunCode, $mageRunType, array('etc_dir'=>'app/domain2'));

এটি ম্যাজেন্টোকে বলবে যে ডোমেনের জন্য কনফিগার করা ফাইলগুলি কোথায়।


1

আপনার মূল লক্ষ্য কি? আপনার উত্স কোডের বিভিন্ন প্রশাসনিক অঞ্চল বা সহজ পরিচালনা?

আমি এটি "স্থানীয়" ডিরেক্টরি এবং ফাইল এবং লিঙ্কযুক্ত (ln -s) সাধারণ ডিরেক্টরি এবং ফাইলগুলির মিশ্রণ দিয়ে করব

/ www / সাধারণ / www / শপ 1 / www / শপ 2

সাধারণ

  • অ্যাপ্লিকেশন /
  • JS /
  • lib / অনুপস্থিত
  • ...

"স্থানীয়"

  • প্রথমেই / var /
  • index.php
  • .htaccess
  • অ্যাপ্লিকেশন / ইত্যাদি / local.xml

তবে কিছুটা বিভ্রান্তি হতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.