অ্যাপের ডেটা রাখুন Railway Postgres-এ
সংক্ষেপেRailway কানেক্টর দুটি আলাদা কাজ করে। API টোকেন, প্রকল্পের ID ও এনভায়রনমেন্ট ID দিলে অ্যাপটি Railway-তে ডিপ্লয় করা যায়। সঙ্গে আপনার Railway Postgres-এর পাবলিক সংযোগ স্ট্রিং দিলে MonstarX অ্যাপের টেবিল ও সারি সেখানে সরিয়ে নেয়, যাচাই করে, আর সেটি ব্যবহারের জন্য অ্যাপের কোড বদলে দেয়। ফিরিয়ে আনুন বোতাম দিয়ে ডেটা আবার MonstarX-এ ফেরানো যায়।
Railway হলো অ্যাপ ও ডেটাবেস চালানোর একটি ক্লাউড প্ল্যাটফর্ম। MonstarX-এর Railway কানেক্টর আপনার একটি অ্যাপকে আপনার Railway প্রকল্পের সঙ্গে জুড়ে দেয়, দুটি কাজের একটি বা দুটোর জন্যই:
- অ্যাপের ডেটা Railway Postgres-এ রাখা — MonstarX-এর ডেটাবেসের বদলে Railway-তে আপনার নিজের Postgres ডেটাবেস। এই পৃষ্ঠা এ নিয়েই।
- অ্যাপটি Railway-তে ডিপ্লয় করা — অ্যাপের GitHub রিপোজিটরি থেকে আপনার Railway প্রকল্পে চালানো। দেখুন অন্য হোস্টে প্রকাশ।
দুটি কাজ একে অপরের ওপর নির্ভর করে না: অ্যাপ MonstarX-এ প্রকাশিত থাকলেও ডেটা Railway Postgres-এ থাকতে পারে, উল্টোটাও হতে পারে।
কখন Railway Postgres ব্যবহার করব?
“কখন Railway Postgres ব্যবহার করব?” অংশবেছে নিন যখন আপনি আগে থেকেই Railway-তে কিছু চালান, অ্যাপের ডেটা নিজের অ্যাকাউন্টে রাখতে চান, বা নিজের ডেটাবেস টুল দিয়ে ডেটায় পৌঁছাতে চান। নইলে MonstarX-এর নিজের ডেটাবেসে কিছুই সেট আপ করতে হয় না — দেখুন অ্যাপের ডেটাবেস।
একটি অ্যাপ তার ডেটা রাখে একবারে এক জায়গায়। Railway Postgres-এ যাওয়া মানে ডেটা সরানো, কপি রাখা নয়।
শুরু করার আগে
“শুরু করার আগে” অংশRailway-তে:
- একটি Railway প্রকল্প খুলুন (বা তৈরি করুন), তারপর যে এনভায়রনমেন্ট ব্যবহার করবেন সেটি বেছে নিন, সাধারণত production।
- তাতে একটি Postgres ডেটাবেস সেবা যোগ করে তার public networking চালু করুন, যাতে MonstarX সেখানে পৌঁছাতে পারে।
- Railway-এর Account Settings → Tokens থেকে একটি account বা workspace API টোকেন তৈরি করুন। প্রকল্পের টোকেন দিয়ে সেবা তৈরি করা যায় না, তাই সেটি কাজ করবে না।
MonstarX-এ অ্যাপের ডেটা অবশ্যই MonstarX-এর নিজের ডেটাবেসে থাকতে হবে। Supabase বা Firestore-এ থাকলে আগে ফিরিয়ে আনুন।
কীভাবে অ্যাপের ডেটা Railway Postgres-এ সরাব?
“কীভাবে অ্যাপের ডেটা Railway Postgres-এ সরাব?” অংশ-
প্রকল্প খুলে ওপরের বারে ব্যাকএন্ড ট্যাবে, তারপর ক্লাউড বিভাগে ক্লিক করুন।
-
কানেক্টর অংশে Railway সারির সংযুক্ত করুন বোতামে ক্লিক করুন — অথবা যেখানে এই অ্যাপটি তার ডেটা রাখে অংশে Railway (Postgres) বেছে নিন।
-
ফর্মটি পূরণ করুন:
- অ্যাকাউন্ট বা ওয়ার্কস্পেস API টোকেন — Railway থেকে পাওয়া টোকেন।
- প্রকল্পের ID — আপনার Railway প্রকল্পের সেটিংস থেকে।
- এনভায়রনমেন্ট ID — একই সেটিংস থেকে।
- Postgres-এর পাবলিক সংযোগ স্ট্রিং (ঐচ্ছিক) — আপনার Postgres সেবার
DATABASE_PUBLIC_URL। এটি দিলেই ডেটা সরানো শুরু হয়; শুধু Railway-তে ডিপ্লয় করতে চাইলে খালি রাখুন।
-
Railway সংযুক্ত করুন বোতামে ক্লিক করুন। MonstarX যাচাই করে যে এনভায়রনমেন্টটি প্রকল্পেরই, আর ডেটাবেসে টেবিল তৈরি করা যায়।
-
চ্যাটে একটি কার্ড আসে: এই অ্যাপের ডেটা Railway Postgres-এ স্থানান্তর করুন, সঙ্গে কতগুলো টেবিল ও সারি পাওয়া গেছে। আমার অ্যাপের ডেটা স্থানান্তর করুন বোতামে ক্লিক করুন।
-
কার্ডে প্রতিটি ধাপ দেখা যায় — ডেটা পড়া, টেবিল তৈরি, সারি কপি করা, সব পৌঁছেছে কি না যাচাই, অ্যাপকে Railway-এর সঙ্গে যুক্ত করা, অ্যাপের কোড নতুন করে লেখা — আর শেষে লেখা থাকে আপনার অ্যাপ এখন Railway Postgres-এ চলে।
এরপর ব্যাকএন্ডক্লাউড খুললে ডেটাবেস কার্ডে দেখায় Railway-এ।
আমার ডেটার কী হয়?
“আমার ডেটার কী হয়?” অংশ- প্রতিটি টেবিল ও সারি আপনার Railway Postgres ডেটাবেসে যায়, আর অ্যাপকে নতুন ডেটাবেসে নেওয়ার আগে MonstarX দুই দিক গুনে মিলিয়ে দেখে। সংখ্যা না মিললে কাজটি থেমে যায়, আর অ্যাপ আগের মতোই থাকে।
- MonstarX তার আগের কপি রেখে দেয়, যেমন ছিল তেমনই, যাতে আপনি ফিরে আসতে পারেন।
- অ্যাপের কোড নতুন করে লেখা হয় Postgres-এর উপযোগী করে, MonstarX নিজেই একটি তৈরির অনুরোধ পাঠিয়ে।
- ডেটা সরানোর সময় নতুন অনুরোধগুলো কাজের কিউতে অপেক্ষা করে, আর কার্ডের থামান বোতাম কাজটি থামায়।
আবার ফিরে আসা যায়?
“আবার ফিরে আসা যায়?” অংশহ্যাঁ। ব্যাকএন্ডক্লাউড খুলে ডেটাবেস কার্ডে ফিরিয়ে আনুন বোতামে ক্লিক করে নিশ্চিত করুন। MonstarX সবকিছু নিজের ডেটাবেসে আবার কপি করে আর কোড আবার নতুন করে লেখে। আপনার Railway ডেটাবেস যেমন আছে তেমনই থাকে।
জেনে রাখুন
“জেনে রাখুন” অংশ- টোকেন MonstarX-এর কাছেই থাকে। API টোকেন, প্রকল্পের ID ও এনভায়রনমেন্ট ID এনক্রিপ্ট করে রাখা হয়, আর শুধু MonstarX Railway সামলাতে এগুলো ব্যবহার করে। এগুলো কখনো আপনার অ্যাপে যায় না।
- সংযোগ স্ট্রিং যায় শুধু অ্যাপের সার্ভারে, আর তাও নতুন ডেটাবেসে যাওয়ার পরেই। এটি কখনো ব্রাউজারে পৌঁছায় না।
- অ্যাপ Railway ব্যবহার করার সময় এর সংযোগ বিচ্ছিন্ন করা বা ডেটাবেস বদলানো যায় না। আগে ফিরিয়ে আনুন।
- Railway থেকে প্রকাশনা বন্ধ করলে শুধু MonstarX-এর তৈরি করা সেবাটি সরে যায়, আপনার Postgres ডেটাবেস কখনো নয়।
- ইমপোর্ট করা অ্যাপ নিজের ডেটাবেস কোড রাখে: MonstarX সেগুলোকে সংযোগ স্ট্রিংটি
RAILWAY_DATABASE_URLহিসেবে দেয়, কিন্তু সেগুলোর ডেটা সরায় না। - Railway-এর প্রাইভেট ঠিকানা কাজ করবে না। ডেটাবেসে পৌঁছাতে MonstarX-এর পাবলিক সংযোগ স্ট্রিং লাগে।
সাধারণ জিজ্ঞাসা
“সাধারণ জিজ্ঞাসা” অংশRailway Postgres ব্যবহার করতে কি Railway-তে ডিপ্লয় করতে হবে?
না। দুটি আলাদা। ডেটা Railway Postgres-এ থাকলেও অ্যাপ MonstarX-এই প্রকাশ হতে থাকতে পারে।
কোন সংযোগ স্ট্রিং পেস্ট করব?
Postgres সেবার public networking চালু করার পর তার DATABASE_PUBLIC_URL। প্রাইভেট নেটওয়ার্কের ঠিকানায় MonstarX থেকে পৌঁছানো যায় না।
আমার টোকেন গ্রহণ করা হলো না কেন?
Railway-এর প্রকল্পের টোকেন দিয়ে সেবা তৈরি করা যায় না। তার বদলে Railway-এর Account Settings → Tokens থেকে একটি account বা workspace টোকেন তৈরি করুন।
Supabase থেকে কি Railway-তে যাওয়া যায়?
হ্যাঁ, দুই ধাপে: ফিরিয়ে আনুন দিয়ে ডেটা MonstarX-এর ডেটাবেসে আনুন, তারপর Railway Postgres সংযুক্ত করুন।
ব্যবহারকারীদের কি আবার সাইন আপ করতে হবে?
না। অ্যাকাউন্টগুলো অ্যাপের ডেটাবেসেরই সারি, তাই বাকি ডেটার সঙ্গে সরে যায় আর আগের মতোই কাজ করে।