আমি অন্য একটি হেরোকু অ্যাপ্লিকেশন থেকে একটি অ্যাপের ডেটাবেস অ্যাক্সেস করতে চাই। ভাগ করা ডাটাবেসে কি তা সম্ভব?
উত্তর:
আপডেট করা হয়েছে
মূলত, এই উত্তরটি বলেছিল যে কয়েকটি কৌশল দ্বারা এটি সম্ভব হলেও এটি দৃ strongly ়ভাবে নিরুৎসাহিত হয়েছিল । এটি হেরোকু বিকাশকারী সমর্থন ওয়েবসাইটের পরামর্শের ভিত্তিতে করা হয়েছিল। তবে সম্প্রতি হেরোকু একটি যোগাযোগ জারি করেছিলেন যাতে এটি কীভাবে অর্জন করা যায় তা নির্দিষ্টভাবে বর্ণনা করা হয়েছে এবং বিকাশকারী সাইটে তাদের পরামর্শকে জল দিয়ে দিয়েছেন। তাদের ই-মেইলের এই বিভাগের সম্পূর্ণ পাঠ্য নীচে অন্তর্ভুক্ত করা হয়েছে:
আপনি কি জানেন যে হেরোকু অ্যাপস একটি সাধারণ ডাটাবেস ভাগ করতে পারে? উদাহরণস্বরূপ, আপনি আপনার ব্যবহারকারী-মুখী কোড থেকে পৃথক অ্যাপ্লিকেশনটিতে বিশ্লেষণ ফাংশন রাখতে পারেন।
একাধিক অ্যাপ্লিকেশনের জন্য একই মানটিতে কেবল DATABASE_URL কনফিগারেশন ভার সেট করুন। প্রথমে আপনার বিদ্যমান অ্যাপ্লিকেশনটির জন্য DATABASE_URL পান:
$ heroku config | grep DATABASE_URL --app sushi DATABASE_URL => postgres://lswlmfdsfos:5FSLVUSLLT123@ec2-123-456-78-90.compute1.amazonaws.com/ldfoiusfsf
তারপরে, এই মানটিতে নতুন অ্যাপ্লিকেশনগুলির জন্য DATABASE_URL সেট করুন:
$ heroku config:add DATABASE_URL=postgres://lswlmfdsfos:5FSLVUSLLT123@ec2-123-456-78-90.compute-1.amazonaws.com/ldfoiusfsf --app sushi-analytics Adding config vars: DATABASE_URL => postgres://lswlm...m/ldfoiusfsf Restarting app... done, v74. That's it
- এখন উভয় অ্যাপ্লিকেশন একটি ডাটাবেস ভাগ করবে।
ঠিক রেফারেন্স হিসাবে, হিরোকুর মূল পরামর্শটি ছিল দূরবর্তী অবস্থান থেকে ডেটা অ্যাক্সেস করার জন্য একটি API তৈরি এবং ব্যবহার করা। আমার ব্যক্তিগত মতামতটি সামগ্রিকভাবে, অনেক পরিস্থিতিতে এটি ভাল পরামর্শ , (যেমন একই ডিবিতে কেবলমাত্র একাধিক অ্যাপ্লিকেশন সংযুক্ত করার চেয়ে ভাল) যদিও আমি এমন পরিস্থিতি দেখতে পাচ্ছি যেখানে তার মূল্যটি তার চেয়ে বেশি সমস্যায় পড়বে।
হালনাগাদ
এই উত্তরের মতামত অনুসারে, এটি লক্ষণীয় যে হেরোকু প্রয়োজনীয় হিসাবে ডাটাবেস ইউআরএলগুলি পরিবর্তন করার অধিকার সংরক্ষণ করে। যদি এটি ঘটে থাকে তবে এটি আপনার গৌণ সংযোগগুলিকে ব্যর্থ করে দেবে এবং সেই অনুযায়ী আপনাকে URL আপডেট করতে হবে update
প্রাসঙ্গিক প্রশ্নের দেরী-উত্তর!
হিরোকু আনুষ্ঠানিকভাবে এখন তাদের অ্যাডন কাঠামোর মাধ্যমে একটি আরও ভাল / করুণামুক্ত সমাধান সমর্থন করে। এটি অ্যাপ্লিকেশনগুলির মধ্যে অ্যাডোনগুলি কীভাবে ভাগ করবেন সে সম্পর্কে তাদের সর্বশেষ নিউজলেটারে বর্ণিত হয়েছে। নীচে লিখিত লেখায় স্নিপেটগুলি উল্লেখ করা হয়েছে:
$ heroku addons:attach my-sushi-db -a my-sushi-reporting --as MAIN_SUSHI_DB
Adding MAIN_SUSHI_DB to my-sushi-reporting... done
Setting MAIN_SUSHI_DB vars and restarting my-sushi-app-reporting... done, v3
লিঙ্ক: প্রসারিত_ত_শক্তি_আপনি_অন
heroku addons:attach originating_app_name::HEROKU_POSTGRESQL_COLOR_URL -a no_db_app_name
যতদূর আমি জানি এটি সম্ভব - আপনার অ্যাপ্লিকেশনটির জন্য হিরকু কনফিগার ভেরিয়েবলগুলি আপনাকে ডিবি দিয়ে দেখতে হবে এবং তারপরে অ্যাপ্লিকেশনটিতে ডাটাবেস_আরল সেট করতে হবে যা ডাটাবেসটিকে একই মানতে ভাগ করতে চায়। কিন্ডা যদিও ট্র্যাক বন্ধ এবং এটি কতটা সমর্থিত তা আমি জানি না।
সম্পাদনা করুন আমার মনকে বিশ্রাম দেওয়ার জন্য আমি হিরোকুতে দুটি অ্যাপ্লিকেশন তৈরি করেছি - একটি শিরোনাম সহ একটি সহজ মজাদার 'পোস্ট'।
http://evening-spring-734.heroku.com/posts হ'ল মাস্টার
http://electric-galaxy-230.heroku.com/posts - দাস
সুতরাং উভয় তৈরি পোস্ট সন্ধ্যা-বসন্ত -734 এর ডাটাবেস URL এ লেখা হবে।
আমি যা করেছি তা হিরাকু কনফিগারেশনটি সন্ধ্যা-বসন্ত -734 এর DATABASE_URL পেতে এবং তারপরে বৈদ্যুতিক-গ্যালাক্সি -৩৩০ এর DATABASE_URL এ একই মান সেট করে।
আপনি কিছু সাফল্য ডিবি রেসের শর্ত দিয়ে শেষ করতে পারেন তবে এটি করা অবশ্যই সম্ভব।
ম্যাজিক হাহ?
আমি সম্প্রতি হেরোকু নিউজলেটারে এটি পেয়েছি। এটি সত্যিকারের অনুমোদিত ব্যবহার কিনা তা জানতে আমি তাদের ইমেল করছি
তুমি কি জানতে?
অনেক অ্যাপ্লিকেশন সহ একটি ডাটাবেস ভাগ করা
আপনি কি জানেন যে হেরোকু অ্যাপস একটি সাধারণ ডাটাবেস ভাগ করতে পারে? উদাহরণস্বরূপ, আপনি আপনার ব্যবহারকারী-মুখী কোড থেকে পৃথক অ্যাপ্লিকেশনটিতে বিশ্লেষণ ফাংশন রাখতে পারেন।
বেশ কয়েকটি অ্যাপ্লিকেশনের জন্য একই
DATABASE_URL
মানটিতে কনফিগারেশ ভার সেট করুন । প্রথমেDATABASE_URL
আপনার বিদ্যমান অ্যাপ্লিকেশনটির জন্য পান:
$ heroku config | grep DATABASE_URL --app sushi DATABASE_URL => postgres://lswlmfdsfos:5FSLVUSLLT123@ec2-123-456-78-90.compute-1.amazonaws.com/ldfoiusfsf
তারপরে,
DATABASE_URL
নতুন অ্যাপ্লিকেশনগুলির জন্য এই মানটি সেট করুন :
$ heroku config:add DATABASE_URL=postgres://lswlmfdsfos:5FSLVUSLLT123@ec2-123-456-78-90.compute-1.amazonaws.com/ldfoiusfsf --app sushi-analytics Adding config vars: DATABASE_URL => postgres://lswlm...m/ldfoiusfsf Restarting app... done, v74.
এটাই - এখন উভয় অ্যাপ্লিকেশন একটি ডেটাবেস ভাগ করবে।
অ্যামাজন আরডিএস প্লাগইন এটির জন্য ভাল কাজ করে। একাধিক অ্যাপ্লিকেশন একই আরডিএস উদাহরণ ভাগ করতে পারে।
সক্রিয়_আরেকর্ড.ট্যাবল_নাম_প্রিফিক্স ব্যবহার করে তাদের টেবিল ভাগ করতে বা টেবিলের নাম সংঘর্ষ এড়াতে আপনার নমনীয়তা রয়েছে।
হেরোকু রেফারেন্স দেখুন: https://devcenter.heroku.com / বিভাগসমূহ / চিরকু- পোষ্টগ্রেস
প্রশ্ন: একাধিক হেরোকু অ্যাপ্লিকেশনগুলি কি কোনও একক ডাটাবেসে সংযুক্ত হতে পারে?
হ্যাঁ. আপনি যদি হেরোকুতে চলমান একাধিক অ্যাপ্লিকেশনগুলিকে একটি একক ডাটাবেসে সংযোগ করতে কনফিগার করতে পারেন তবে শর্ত থাকে যে আপনার কাছে ডাটাবেস শংসাপত্র রয়েছে। হিরকু কনফিগারেশন ব্যবহার করে আপনি যে অ্যাপ্লিকেশনটি সংযোগ করতে চান তা কেবল DATABASE_URL ওভাররাইড করুন: DATABASE_URL = ... কমান্ড যুক্ত করুন।