কিভাবে দেখার জন্য একটি বাহ্যিক ডাটাবেস উপলব্ধ?


8

দ্রুপালে বাইরের ডাটাবেস ব্যবহার সম্পর্কে এখানে এবং অন্যান্য জায়গায় প্রচুর আলোচনা রয়েছে। আমি এটি থেকে কী খুঁজে বের করেছি তা হ'ল:

  • একটি ডাটাবেস সারণীতে ডেটা নিয়ে কাজ করার সর্বোত্তম উপায় হল ভিউ মডিউলটি ব্যবহার করা। আমি এটি ইনস্টল করেছি এবং এটি ব্যবহার শুরু করেছি এবং এটি খুঁজে পেয়েছি যে সাইটের টেবিলটিতে আমি যুক্ত করেছি এমন একটি টেবিলের সাথে কাজ করার জন্য এটি দুর্দান্ত।
  • দ্রুপাল দ্বারা তৈরি করা হয়নি এমন কোনও টেবিলের সাথে ভিউগুলি কাজ করার সহজ উপায় হ'ল ডেটা মডিউলটি। এই মডিউলটি সাইট ডাটাবেসের যে কোনও টেবিলকে দ্রুপাল দ্বারা "অনাথ সারণী" হিসাবে ব্যবহার করে না এবং এটি একটি বোতামের ক্লিকে "গৃহীত" হওয়ার অনুমতি দেয় tre
  • "টেবিল উইজার্ড" মডিউলটি দৃশ্যত সাইটের ডাটাবেসে থাকা টেবিলগুলির সাথে এটি করার একটি উপায় সরবরাহ করে। তবে সেই মডিউলটি দ্রুপাল 7 এর জন্য উপলব্ধ নয়।
  • "ডাটাবেস সেটিংস" বিভাগে "সেটিংস.এফপি" ফাইলটিতে সাইটটি যে অতিরিক্ত ডেটাবেসগুলির সাথে কাজ করতে পারে সেগুলি কীভাবে সংজ্ঞায়িত করা যায় সে সম্পর্কে বিস্তারিত ডকুমেন্টেশন রয়েছে। কিন্তু যখন কোনও ডাটাবেসকে সেভাবে সংজ্ঞায়িত করা হয়, তখন এর সারণীগুলি ডেটা মডিউলটিতে এতিম টেবিলের তালিকায় প্রদর্শিত হয় না।

আমার সাইটের কোনও একটিতে "সেটিংস.এফপি" ফাইলের ডাটাবেস সংজ্ঞায় আমি যে পরিবর্তন করেছি তা হ'ল:

$databases = array ( 'default' => array ('default' => array ( 'database' => 'db_local', 'username' => 'db_local', 'password' => '_________', 'host' => 'localhost', 'port' => '', 'driver' => 'mysql', 'prefix' => '', ), ), 'extra' => array ('default' => array ( 'database' => 'db__extra', 'username' => 'db_admin', 'password' => '_________, 'host' => 'localhost', 'port' => '', 'driver' => 'mysql', 'prefix' => '', ), ), );

আমার একটি টেবিল রয়েছে যা আমি আমার বহু-সাইট ইনস্টলেশনতে একাধিক সাইটে ব্যবহার করতে চাই। এর অর্থ প্রতিটি সাইটের অ্যাক্সেসযোগ্য একটি ডাটাবেসে আমার কাছে টেবিল থাকা দরকার। আমি যে পড়াটি করেছি তার অনুসারে এটি করার জন্য আমার বিকল্পগুলি হ'ল:

  1. সেরা, যদি এটি সম্ভব হয়: এটি খুঁজে বার করুন যে "সেটিংস.এফপি" সংজ্ঞায়িত অতিরিক্ত ডাটাবেসে টেবিলগুলি সনাক্ত করার জন্য ডেটা মডিউল পাওয়ার কোনও উপায় রয়েছে, যাতে এটি সেগুলি গ্রহণ করতে পারে।
  2. সমস্ত সাইটকে একটি ডাটাবেস ব্যবহার করার অনুমতি দেওয়ার জন্য সারণী উপসর্গগুলি ব্যবহার করুন।
  3. " ফরেনা রিপোর্টস " মডিউলটি আমার যা প্রয়োজন ঠিক তা করেছে বলে মনে হয়েছিল, কিন্তু আমি এটি ইনস্টল করার পরে, এটি কাজ করতে পারিনি। আমি 2475645 ইস্যু জমা দিয়েছি এবং যদি সমস্যার কোনও সমাধান না হয় তবে সেখানে আরও বেশি কিছু করতে পারি না।
  4. "সেটিংস.এফপি" সংজ্ঞায়িত অতিরিক্ত ডাটাবেসে ভিউগুলিকে অ্যাক্সেস দিতে আমার নিজস্ব মডিউলটি লিখুন।
  5. টেবিল উইজার্ডের সাথে ড্রুপাল 6 ইনস্টল করুন এবং আমার বাহ্যিক টেবিলটি দেখার জন্য ভিউগুলি পেতে এটি ব্যবহার করুন এবং তারপরে কোনওভাবে এর ফলাফলটি নিয়ে তা ড্রুপাল into এ স্থাপন করুন ((এটি কিছু পোস্টে প্রস্তাবিত হয়েছে)
  6. Https://drupal.stackexchange.com/a/3321/45991 এ প্রক্রিয়াটি অনুসরণ করুন যা প্যাচ ইনস্টল করে শুরু হয় এবং আমার নিজস্ব মডিউলটিও তৈরি করা দরকার বলে মনে হচ্ছে।
  7. আমি ফিডস, ফিডস এসকিউএল, ভিউস এক্সএমএল ব্যাকএন্ড এবং স্থানান্তরিত মডিউলগুলিও দেখেছি, তবে তাদের কেউই বলছে না যে তারা বাহ্যিক ডিবি ভিউতে সংযুক্ত করতে পারবেন। আমি কিছু অনুপস্থিত করছি? তাদের মধ্যে একটি সঠিক সমাধান?

বিকল্প 2 ব্যবহারিক নয় কারণ এটি শত শত টেবিলের সাথে একটি বিশাল ডাটাবেস তৈরি করবে যা পরিচালনা করা খুব কঠিন difficult আমি দ্রুপাল শুরু করার ক্ষেত্রে দুর্দান্ত অগ্রগতি করছি, তবে আমি 4, 5 বা 6 এর কাজটি অনুভব করি না 1 বিকল্প 1 এর মতো কিছু করার কি কোনও সম্ভাবনা আছে? বা আমার নিজস্ব মডিউলটি লিখতে না পেরে সাইট ডাটাবেসের বাইরে টেবিলের সাথে কাজ করার জন্য ভিউগুলি পাওয়ার আরও কি উপায় আছে?

দুটি অতিরিক্ত বিবরণ: আমার প্রথম যে টেবিলটি নিয়ে কাজ করা দরকার তা বেশ বড়, 6,000 টিরও বেশি সারি এবং প্রায় 20 টি কলামের। পৃষ্ঠাগুলির জন্য চিত্র থেকে প্রাপ্ত তথ্য বাদে সাইটটি দর্শকদের ডাটাবেসে অ্যাক্সেস দেওয়ার কোনও উদ্দেশ্য নেই।

আপনার সাহায্যের জন্য ধন্যবাদ.

উত্তর:


2

আমি মনে করি ফোরনা মডিউলটি আপনার যা প্রয়োজন ঠিক তা করে । আপনার সেটআপ ইস্যুটি কেবলমাত্র একটি সমর্থন অনুরোধ যা আমি মনে করি, এমন কিছু নয় যা "ফিক্স" প্রয়োজন। আপনি এটি সমাধান করার পরে, আপনি এমনকি হ্যাঁ বা তার দৃষ্টিকোন ইন্টিগ্রেশন ব্যবহার না করার একটি পছন্দও করতে পারেন।

আপনার তৈরি ফোরনা ইস্যুটি খুব ভালভাবে নথিভুক্ত হয়েছে (দুর্দান্ত কাজ!)। তবে কোথাও এটি আপনার অনুমোদনের অনুমতি সম্পর্কে কিছুই বলে না (যা আমাকে বিশ্বাস করে যে আপনি প্রয়োজনীয় কিছু অনুমতি অনুপস্থিত হতে পারেন)। সুতরাং এখানে সম্বোধন করার চেষ্টা করা হল:

  • আপনি কী (প্রয়োজনীয়) ফরনা সম্পর্কিত অনুমোদন মঞ্জুরি দিয়ে সংক্ষিপ্তভাবে ব্যাখ্যা করতে পারেন?

  • ফরেনার সাথে আসা সেটআপ গাইডে প্রয়োজনীয় ফোরনা অনুমতিগুলি ব্যাখ্যা করা আছে ? এফওয়াইআই: এটির একটি অংশ এখানে দেওয়া হয়েছে:

    ফরেনা অনুমোদন দেওয়ার জন্য স্ট্যান্ডার্ড ড্রুপাল প্রশাসনের সুবিধাদি ব্যবহার করে সম্পর্কিত অনুমোদনের প্রতিবেদন করার সাথে সাথে প্রচুর পরিমাণে গ্রানুলারিটির অনুমতি দেয়। ফরেনা সম্পর্কিত ড্রুপাল অনুমতিগুলির তালিকা দেওয়া যেতে পারে যা প্রথমে কিছুটা অপ্রতিরোধ্য হতে পারে। কারণ প্রতিটি সংজ্ঞায়িত ডেটা উত্সের জন্য 3 টি এন্ট্রি রয়েছে এবং ভ্যানিলা ফোরনা ইতিমধ্যে 3 টি ডেটা উত্স নিয়ে আসে।

    আপনার নিজের সাইটে এই গাইডটি পুনরুদ্ধার করতে, কেবলমাত্র /report/help.setup এ নেভিগেট করুন

"ডেটা" অ্যাক্সেস করার সেই অনুমতিগুলি মূলত আটকানো হয়েছে। এটি ডিজাইনের দ্বারা, কারণ ফরেনা ফরেনার মাধ্যমে ডেটাতে অ্যাক্সেস দেওয়ার সাথে সম্পর্কিত যে কোনও কিছুতে খুব সংবেদনশীল। আপনি যেটি ঘটতে চান না তা হ'ল কেবল ফরেনা (অনুমতি অ্যাডমিন ছাড়াই) ইনস্টল করে এবং কনফিগার করে আপনি সুরক্ষিত ডেটা অ্যাক্সেস করার জন্য এটিকে কার্যকর হিসাবে ব্যবহার করতে পারেন।

এছাড়াও নোট করুন যে পুরো ডেটা উত্স স্তরের অনুমতি ব্যতীত আপনার নির্দিষ্ট ডেটা ব্লক (= কাস্টম এসকিউএল কোয়েরি) এর জন্য প্রয়োজনীয় অনুমতিগুলি আরও পরিমার্জন করার একটি বিকল্প রয়েছে। এটি করার জন্য, এসকিউএল স্টেটমেন্টের মধ্যে কেবল প্রয়োজনীয় (দ্রুপাল) অনুমতিগুলি নির্দিষ্ট করুন (সিনট্যাক্সের বিশদটি ফরেনা গাইডগুলিতে অন্তর্ভুক্ত করা হয়েছে)। এর জন্য একটি সাধারণ ইউজকেস হ'ল এটিতে সংবেদনশীল ডেটা সহ কলামগুলিতে অ্যাক্সেস সুরক্ষিত করা।

প্রকাশ: আমি এই মডিউলটির সহ- প্রতিযোগী,
আমি আশা করি এটি আত্ম-প্রচারের ক্ষেত্রে সাইটের নীতি লঙ্ঘন করবে না ।


এই জন্য আপনাকে ধন্যবাদ. আমি যখন প্রথম সেটআপটি দিয়েছিলাম তখন খেয়াল করিনি যে এখানে পাঁচটি অনুমতি রয়েছে যা কাউকে দেওয়া হয়নি। আমি এখন এগুলি প্রশাসককে (যেমন, আমাকে) মঞ্জুরি দিয়েছি। সেটআপ ডকটি কেন এই অনুমতিগুলিকে মূলত আটকাতে হয় এবং এডমিনকে এগুলি না দেওয়ার কোনও কারণ আছে তা বলে না। যাইহোক, আমার কাছে এখন সেই ডেটা উত্স রয়েছে, সুতরাং এটি এই সমস্যার সমাধান করেছে। আমি জমা দেওয়া ইস্যুটির পরিবর্তে আপনি এখানে প্রতিক্রিয়া জানানোর কোনও কারণ আছে?
নিউ সাইটস

প্রগতি পড়তে দারুণ! এটি কোনওভাবে আমার উত্তরের "ডাউনটোট" ক্ষতিপূরণ দেয় ... FYI: আমি এখন ইস্যু সারিটির মাধ্যমেও প্রতিক্রিয়া জানালাম। সুতরাং এখন যেহেতু "এটি সমস্যার সমাধান করেছে", এর অর্থ কি আপনি ফোরেনাকে সত্যই "আপনার" প্রশ্নের উত্তর হিসাবে বিবেচনা করছেন (এটি এখনও অপের বুলেট এনআর 3 তে ছিল না)? এফওয়াইআই: আমি আমার উত্তরটি এখানে সংক্ষেপে "কেন সেই অনুমতিগুলি মূলত আটকানো হয়" ব্যাখ্যা করার জন্য চেষ্টা করব, যা একটি ভাল অতিরিক্ত প্রশ্ন!
পিয়ের.ভ্রিয়েন্স

আমি আপনার উত্তরটি ভোট দিয়েছিলাম। আমি এখন আপনাকে <u> </u> উত্তর হিসাবে গ্রহণ করেছি এবং এটিতে ভোট দিয়েছি (যা দুর্ভাগ্যক্রমে কেবল এটি শূন্যে ফিরে আসে)।
নিউ সাইটস

এইচএম, আমি @ নিউজসাইটগুলিকে ডাউনভোটেড বলে ধরে নিছিলাম না, আসলে আমি ডাউনভোটের সাথে বাঁচতে শিখেছি। আমি ব্যক্তিগতভাবে সাধারণভাবে ডাউনওটিং পছন্দ করি না এবং আমি তাদের যে কোনওভাবেই ব্যাখ্যা করার জন্য কোনও মন্তব্য নেই সেখানে এড়িয়ে চলেছি। তবে অবশ্যই "upvoting", এবং "গ্রহণ" এর প্রশংসা করা হয়। এবং অবশ্যই জেনে থাকার পরেও আরও একটি দ্রুপাল ব্যবহারকারী রয়েছেন যা মনে হয় এখন ফরেনাকে আবিষ্কার করেছেন, যাওয়ার উপায়! যথাযথ সমস্যাগুলি (সমর্থন?) ফাইলগুলি (কর্মক্ষেত্রে সমর্থনটি দেখার জন্য ...) নিশ্চিত করে নিন।
পিয়ের.ভ্রিয়েন্স

2

আমি বেশ কয়েকটি সফলভাবে এটি সফলভাবে সম্পাদন করেছি:

একটি ভার্চুয়াল টেবিল তৈরি করতে একটি এসকিউএল ভিউ ব্যবহার করুন db_localযা এতে সম্পর্কিত টেবিলকে বোঝায় db__extraএটি তৈরির ক্যোয়ারীটি এরকম কিছু দেখতে পাবে:

USE db_local; CREATE VIEW some_table AS SELECT * FROM db__extra.some_table;

তারপরে আপনি এই এসকিউএল ভিউটিকে উল্লেখ করতে পারেন যেন এটি আপনার ড্রুপাল ডাটাবেসে কোনও দেশীয় টেবিল ছিল এবং আপনার এমনকি সেটিংস.এফপি-তে কোনও বাহ্যিক ডাটাবেস যুক্ত করার প্রয়োজন নেই। নোট করুন যে এটি ডেটা মডিউলটির সাথে সামঞ্জস্যপূর্ণ নাও হতে পারে ( https://www.drupal.org/node/1973806 দেখুন ) তবে আপনার প্রয়োগের মাধ্যমে ড্রুপাল ভিউ মডিউলে এসকিউএল ভিউ বর্ণনা করতে সক্ষম হওয়া উচিত hook_views_data()এবং ডেটা মডিউলটি ব্যবহার বন্ধ করা উচিত ।

এখানে আরও একটি সম্ভাবনা রয়েছে: দ্রুপালকে পুনরায় লেখার জন্য ট্র্যাক করতে বেছে বেছে সারণী উপসর্গ ব্যবহার করুন {কিছু_সামগ্রী} থেকে ডিবি__েক্সট্রা.সোম_ টেবিল। এটি আপনার ড্রুপাল টেবিলগুলির উপসর্গ হিসাবে একই নয়।

আপনার $databasesসেটিংটি দেখতে এইরকম হবে:

$databases = array ( 'default' => array ('default' => array ( 'database' => 'db_local', 'username' => 'db_local', 'password' => '_________', 'host' => 'localhost', 'port' => '', 'driver' => 'mysql', 'prefix' => array( 'some_table' => 'db__extra.', ), )) );

আবার, আমি নিশ্চিত না যে এটি ডেটা মডিউলটির সাথে সামঞ্জস্যপূর্ণ কিনা, যেহেতু আমি এটি ব্যবহার করি না। তবে আপনি যদি hook_views_data()নিজেকে বাস্তবায়ন করেন তবে ভিউজের সাথে এটি কাজ করা উচিত ।


আপনি উভয় পদ্ধতিতে বলছেন যে আমাকে <code> hook_views_data () </code> প্রয়োগ করতে হবে। এর জন্য কি কোনও মডিউল লেখার দরকার নেই? যাই হোক না কেন, আমি আপনার দ্বিতীয় পদ্ধতিতে ডাটাবেস সংজ্ঞা চেষ্টা করেছি। এটি অনাথ টেবিলগুলির ডেটা মডিউলটির তালিকায় "db_extra" টেবিলটি উপস্থিত হওয়ার কারণ ঘটেনি। আপনার প্রথম পদ্ধতিতে, আপনি প্রস্তাবিত ক্যোয়ারীটি আমি কোথায় রাখি (যদি কাস্টম মডিউলটি না থাকে)?
নিউ সাইটস

আপনি যদি কোনও এসকিউএল ভিউ তৈরি করে থাকেন তবে আপনাকে সরাসরি মাইএসকিউএলে একবার ক্রিয়েট ভিউ কোয়েরি চালাতে হবে। এটি আবার চালানোর দরকার নেই।
লেস লিম

আমি দুঃখিত, আমি এখনও বুঝতে পারি না। আপনি এই কোয়েরিটি কোথায় চালাতে চান? পিএইচপিএমআইএডমিনে? এটি কি আমাকে এমন কিছু দেবে যা আমি দর্শনে ব্যবহার করতে পারি? আমি Drupal.org এবং পেয়েছিলাম এ "এসকিউএল দেখুন" অনুসন্ধান drupal.org/project/sql_views , যা কোন উৎপাদন ডাউনলোড এবং এ যার ডক drupal.org/node/2458947 বলে আমি নাকি অনেক হুক (যা আমি লেখার মানে অনুমান বাস্তবায়ন প্রয়োজন একটি মডিউল) আমার এসকিউএল ভিউ সম্পর্কে ভিউ মডিউলটি জানাতে। সুতরাং এটির মতো মনে হচ্ছে আপনি যা পরামর্শ দিচ্ছেন তার জন্য একটি মডিউল লেখার প্রয়োজন (যা আমি কেবল প্রস্তুত মনে করি না), এবং যদি না হয় তবে আপনি আমাকে যা করতে বলছেন তা আমি পাই না।
নিউ সাইটস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.