เก็บข้อมูลของแอปไว้ใน Railway Postgres
สรุปสั้น ๆตัวเชื่อมต่อ Railway ทำงานได้ 2 อย่างแยกกัน ถ้าใส่โทเค็น API ID โปรเจกต์ และ ID สภาพแวดล้อม คุณจะปรับใช้แอปไปยัง Railway ได้ ถ้าใส่สตริงการเชื่อมต่อสาธารณะของ Railway Postgres ด้วย MonstarX จะย้ายตารางและแถวของแอปไปที่นั่น ตรวจสอบข้อมูล และเขียนแอปใหม่ให้ใช้ฐานข้อมูลนั้น ส่วนปุ่มย้ายกลับจะนำข้อมูลกลับมาที่เดิม
Railway คือแพลตฟอร์มคลาวด์สำหรับรันแอปและฐานข้อมูล ตัวเชื่อมต่อ Railway ของ MonstarX เชื่อมแอปหนึ่งของคุณเข้ากับโปรเจกต์ Railway เพื่อทำงานอย่างใดอย่างหนึ่งหรือทั้ง 2 อย่าง
- เก็บข้อมูลของแอปไว้ใน Railway Postgres คือฐานข้อมูล Postgres ของคุณเองใน Railway แทนฐานข้อมูลของ MonstarX หน้านี้อธิบายเรื่องนี้
- ปรับใช้แอปไปยัง Railway คือรันแอปบนโปรเจกต์ Railway ของคุณจากรีโพซิทอรี GitHub ของแอป ดู เผยแพร่ไปยังโฮสต์อื่น
ทั้งสองอย่างแยกจากกัน ข้อมูลอยู่ใน Railway Postgres ได้ขณะที่แอปเผยแพร่บน MonstarX และกลับกันก็ได้เช่นกัน
เมื่อไรควรใช้ Railway Postgres
หัวข้อที่มีชื่อว่า “เมื่อไรควรใช้ Railway Postgres”เลือกใช้เมื่อคุณรันระบบต่าง ๆ บน Railway อยู่แล้ว ต้องการให้ข้อมูลของแอปอยู่ในบัญชีของคุณเอง หรือต้องการเข้าถึงข้อมูลด้วยเครื่องมือฐานข้อมูลของคุณเอง นอกนั้นฐานข้อมูลของ MonstarX ใช้ได้เลยโดยไม่ต้องตั้งค่า ดู ฐานข้อมูลของแอป
แอปเก็บข้อมูลไว้ใน ที่เดียวในแต่ละครั้ง การไปใช้ Railway Postgres คือการย้าย ไม่ใช่การคัดลอก
ก่อนเริ่มต้น
หัวข้อที่มีชื่อว่า “ก่อนเริ่มต้น”ใน Railway
- เปิด (หรือสร้าง) โปรเจกต์ Railway แล้วเลือกสภาพแวดล้อมที่จะใช้ ซึ่งมักเป็น production
- เพิ่มบริการฐานข้อมูล Postgres ในโปรเจกต์ แล้วเปิด public networking เพื่อให้ MonstarX เข้าถึงได้
- สร้าง โทเค็น API ของบัญชีหรือเวิร์กสเปซ ที่ Account Settings → Tokens ของ Railway โทเค็นของโปรเจกต์สร้างบริการไม่ได้ จึงใช้ไม่ได้
ใน MonstarX ข้อมูลของแอปต้องอยู่ในฐานข้อมูลของ MonstarX ถ้าอยู่ใน Supabase หรือ Firestore ให้ย้ายกลับมาก่อน
ย้ายข้อมูลของแอปไปที่ Railway Postgres อย่างไร
หัวข้อที่มีชื่อว่า “ย้ายข้อมูลของแอปไปที่ Railway Postgres อย่างไร”-
เปิดโปรเจกต์แล้วคลิก แบ็กเอนด์ ในแถบด้านบน จากนั้นคลิก คลาวด์
-
ที่ ตัวเชื่อมต่อ คลิก เชื่อมต่อ ข้าง Railway หรือเลือก Railway (Postgres) ใน ที่แอปนี้เก็บข้อมูลไว้
-
กรอกแบบฟอร์ม
- โทเค็น API ของบัญชีหรือเวิร์กสเปซ โทเค็นจาก Railway
- ID โปรเจกต์ ดูได้ในการตั้งค่าโปรเจกต์ Railway
- ID สภาพแวดล้อม ดูได้ในการตั้งค่าเดียวกัน
- สตริงการเชื่อมต่อสาธารณะของ Postgres (ไม่บังคับ) คือ
DATABASE_PUBLIC_URLของบริการ Postgres ช่องนี้คือสิ่งที่เริ่มการย้ายข้อมูล ถ้าต้องการแค่ปรับใช้ไปยัง 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 ไหมถึงจะใช้ Railway Postgres ได้
ไม่ต้อง ทั้งสองอย่างแยกจากกัน แอปเผยแพร่บน MonstarX ต่อไปได้ขณะที่ข้อมูลอยู่ใน Railway Postgres
ต้องวางสตริงการเชื่อมต่อตัวไหน
DATABASE_PUBLIC_URL ของบริการ Postgres หลังจากเปิด public networking แล้ว MonstarX เข้าถึงที่อยู่ในเครือข่ายส่วนตัวไม่ได้
ทำไมโทเค็นของฉันถูกปฏิเสธ
โทเค็นโปรเจกต์ของ Railway สร้างบริการไม่ได้ ให้สร้างโทเค็นของ บัญชีหรือเวิร์กสเปซ ที่ Account Settings → Tokens ของ Railway แทน
เปลี่ยนจาก Supabase ไป Railway ได้ไหม
ได้ โดยย้าย 2 ครั้ง ใช้ ย้ายกลับ เพื่อนำข้อมูลกลับมาที่ฐานข้อมูลของ MonstarX ก่อน แล้วจึงเชื่อมต่อ Railway Postgres
ผู้ใช้ต้องสมัครใช้งานใหม่ไหม
ไม่ต้อง บัญชีผู้ใช้เป็นแถวในฐานข้อมูลของแอป จึงย้ายไปพร้อมข้อมูลอื่นและใช้งานได้ต่อ