เก็บข้อมูลของแอปไว้ใน Supabase ของคุณเอง
สรุปสั้น ๆเชื่อมต่อ Supabase ที่ แบ็กเอนด์ → คลาวด์ ด้วยสตริงการเชื่อมต่อของโปรเจกต์ MonstarX จะนับตาราง แถว และบัญชีผู้ใช้ และเมื่อคุณคลิก ย้ายแอปของฉัน MonstarX จะคัดลอกทุกอย่างไปที่ Supabase ตรวจสอบว่าทุกแถวมาถึงครบ ตั้งค่าให้แอปใช้ Supabase และเขียนโค้ดใหม่ หลังจากนั้นข้อมูลจะอยู่ใน Supabase เท่านั้น ส่วนปุ่มย้ายกลับจะนำข้อมูลกลับมาที่เดิม
ทุกแอปใน MonstarX มีฐานข้อมูลของตัวเองสำหรับเก็บข้อมูล เช่น การจอง คำสั่งซื้อ และรายชื่อผู้สมัคร ถ้าคุณอยากเก็บข้อมูลเหล่านี้ไว้ในโปรเจกต์ Supabase ของคุณเอง (ฐานข้อมูล Postgres แบบโฮสต์ที่ได้รับความนิยม) MonstarX ย้ายข้อมูลไปให้และเปลี่ยนแอปให้ใช้ Supabase ได้
แอปเก็บข้อมูลไว้ใน ที่เดียวในแต่ละครั้ง คือฐานข้อมูลของ MonstarX หรือของคุณ ไม่ใช่ทั้งสองที่ การเชื่อมต่อ Supabase จึงเป็นการย้าย ไม่ใช่การคัดลอก
เมื่อไรควรใช้ Supabase ของตัวเอง
หัวข้อที่มีชื่อว่า “เมื่อไรควรใช้ Supabase ของตัวเอง”เลือกใช้เมื่อ
- บริษัทของคุณใช้ Supabase อยู่แล้ว หรือมีกฎว่าข้อมูลลูกค้าต้องอยู่ในบัญชีของบริษัทเอง
- คุณต้องการเปิดดูข้อมูลโดยตรงในแดชบอร์ด SQL editor หรือเครื่องมือทำรายงานของ Supabase
- คุณต้องการจัดการการสำรองข้อมูลและสิทธิ์เข้าถึงฐานข้อมูลเอง
ถ้าไม่ตรงกับข้อใดเลย ฐานข้อมูลของ MonstarX เป็นตัวเลือกที่ง่ายกว่า ไม่ต้องตั้งค่าและไม่ต้องจ่ายเงินแยก ดู ฐานข้อมูลของแอป
ก่อนเริ่มต้น
หัวข้อที่มีชื่อว่า “ก่อนเริ่มต้น”- สร้าง โปรเจกต์ Supabase ใหม่ที่ว่างเปล่า MonstarX สร้างตารางเอง และจะไม่รับโปรเจกต์ที่มีตารางชื่อเดียวกันและมีข้อมูลอยู่แล้ว
- เตรียม รหัสผ่านฐานข้อมูล ไว้ ซึ่งคุณตั้งไว้ตอนสร้างโปรเจกต์ Supabase
- ถ้าแอปเก็บข้อมูลไว้ใน Firestore (ดู Firebase) ให้เปลี่ยนกลับมาใช้ฐานข้อมูล MonstarX ก่อน
ย้ายข้อมูลของแอปไปที่ Supabase อย่างไร
หัวข้อที่มีชื่อว่า “ย้ายข้อมูลของแอปไปที่ Supabase อย่างไร”-
ใน Supabase เปิดโปรเจกต์แล้วคลิก Connect คัดลอกสตริงการเชื่อมต่อแบบ Transaction pooler แล้วใส่รหัสผ่านฐานข้อมูลแทน
[YOUR-PASSWORD] -
ใน MonstarX เปิดโปรเจกต์แล้วคลิก แบ็กเอนด์ ในแถบด้านบน จากนั้นคลิก คลาวด์
-
ที่ ตัวเชื่อมต่อ คลิก เชื่อมต่อ ข้าง Supabase หรือเลือก Supabase (Postgres) ใน ที่แอปนี้เก็บข้อมูลไว้ ซึ่งจะเปิดแบบฟอร์มเดียวกัน
-
วางสตริงการเชื่อมต่อในช่อง สตริงการเชื่อมต่อ ช่องอื่นไม่บังคับ
- URL ของโปรเจกต์ และ คีย์ anon เฉพาะเมื่อแอปต้องใช้ API หรือพื้นที่จัดเก็บของ Supabase ด้วย
- คีย์ service role ต้องเก็บเป็นความลับ เว้นว่างไว้ได้ คีย์นี้ใช้สำหรับย้ายระบบลงชื่อเข้าใช้หรือไฟล์ไปที่ Supabase ซึ่งการย้ายยังไม่รองรับ
-
คลิก เชื่อมต่อ Supabase MonstarX จะตรวจสอบว่าสร้างตารางที่นั่นได้ก่อนบันทึก
-
การ์ด ย้ายข้อมูลของแอปนี้ไปที่ Supabase จะแสดงในแชท พร้อมสิ่งที่พบ เช่น “6 ตาราง · 214 แถว · 3 บัญชี · จะไม่มีการเปลี่ยนแปลงจนกว่าคุณจะอนุญาต” และบอกด้วยว่าอะไรจะอยู่ที่เดิม
-
คลิก ย้ายแอปของฉัน (หรือ ไว้ทีหลัง เพื่อตัดสินใจภายหลัง)
จากนั้นการ์ดจะแสดงแต่ละขั้นตอนระหว่างที่ทำ
- กำลังตรวจสอบการเชื่อมต่อ
- กำลังอ่านข้อมูลแอปของคุณ
- กำลังสร้างตารางใน Supabase
- กำลังคัดลอกแถว
- กำลังตรวจสอบว่าข้อมูลทั้งหมดมาถึงแล้ว
- กำลังตั้งค่าให้แอปใช้ Supabase
- กำลังเขียนโค้ดของแอปใหม่
เมื่อเสร็จ การ์ดจะแสดง ตอนนี้แอปของคุณทำงานบน Supabase และการ์ด ฐานข้อมูล ใน แบ็กเอนด์คลาวด์ จะมีป้าย บน Supabase
อะไรย้ายไป และอะไรอยู่กับ MonstarX
หัวข้อที่มีชื่อว่า “อะไรย้ายไป และอะไรอยู่กับ MonstarX”| สิ่งที่เกิดขึ้น | |
|---|---|
| ตารางและแถว | คัดลอกไปที่ Supabase พร้อมความเชื่อมโยง ดัชนี และตัวนับ ID |
| บัญชีผู้ใช้ | ย้ายไปพร้อมข้อมูล รวมถึงรหัสผ่าน และใช้งานได้ต่อ ส่วนระบบลงชื่อเข้าใช้ยังทำงานแบบเดิมที่แอปใช้อยู่ |
| ไฟล์ที่อัปโหลด | ยังอยู่ในพื้นที่จัดเก็บไฟล์ของ MonstarX ทุกลิงก์ยังใช้ได้ |
| โค้ดของแอป | MonstarX เขียนส่วนที่คุยกับฐานข้อมูลใหม่ให้ใช้ Postgres ผ่านคำขอสร้างที่ MonstarX ส่งเอง |
| สำเนาเดิมของ MonstarX | เก็บไว้โดยไม่แตะต้อง คุณจึงย้ายกลับได้ |
การย้ายระบบลงชื่อเข้าใช้ไปที่ Supabase Auth หรือย้ายไฟล์ไปที่ Supabase Storage ยังทำไม่ได้
ข้อมูลปลอดภัยไหมระหว่างย้าย
หัวข้อที่มีชื่อว่า “ข้อมูลปลอดภัยไหมระหว่างย้าย”- ไม่มีอะไรเปลี่ยนจนกว่าทุกแถวจะมาถึง MonstarX นับแถวทั้งสองฝั่งก่อนสลับแอปไปใช้ ถ้าจำนวนต่างกัน เช่น มีคนใช้แอประหว่างที่กำลังย้าย การย้ายจะหยุดและแอปจะอยู่เหมือนเดิมทุกอย่าง
- การย้ายที่ล้มเหลวหรือถูกหยุดจะเก็บกวาดเอง โดยลบเฉพาะตารางที่สร้างขึ้น และแจ้งไว้บนการ์ด คลิก หยุด บนการ์ดถ้าต้องการหยุดเอง
- โปรเจกต์จะรอ ระหว่างที่กำลังย้าย คำขอใหม่จะรออยู่ในคิว เหมือนระหว่างงานสร้าง
- เปิด row-level security ไว้ ทุกตารางที่ MonstarX สร้างใน Supabase เปิด row-level security ไว้ จึงไม่มีใครอ่านหรือแก้ไขข้อมูลผ่าน API สาธารณะของ Supabase ได้ แอปเข้าถึงข้อมูลผ่านการเชื่อมต่อส่วนตัวของตัวเองแทน
ย้ายกลับไปใช้ฐานข้อมูลของ MonstarX ได้ไหม
หัวข้อที่มีชื่อว่า “ย้ายกลับไปใช้ฐานข้อมูลของ MonstarX ได้ไหม”ได้ เปิด แบ็กเอนด์คลาวด์ คลิก ย้ายกลับ บนการ์ด ฐานข้อมูล แล้วยืนยัน MonstarX จะคัดลอกทุกอย่างกลับมาที่ฐานข้อมูลของตัวเอง คืนชนิดคอลัมน์แบบเดิมที่แอปใช้ตอนแรก และเขียนโค้ดใหม่อีกครั้ง โปรเจกต์ Supabase ยังเก็บตารางไว้ ไม่มีอะไรถูกลบที่นั่น
ข้อควรรู้
หัวข้อที่มีชื่อว่า “ข้อควรรู้”- ยกเลิกการเชื่อมต่อ Supabase ไม่ได้ระหว่างที่แอปใช้อยู่ MonstarX จะไม่ยอม เพราะแอปจะไม่มีฐานข้อมูลเหลือ ให้ย้ายกลับก่อน
- คีย์ใหม่ต้องชี้ไปที่ข้อมูลชุดเดิม ถ้าอัปเดตสตริงการเชื่อมต่อ ต้องชี้ไปยังฐานข้อมูลที่มีตารางของแอปอยู่
- Supabase หรือ Railway อย่างใดอย่างหนึ่ง ถ้าจะย้ายจากที่หนึ่งไปอีกที่ ให้ย้ายกลับมาที่ฐานข้อมูลของ MonstarX ก่อน ดู Railway
- แอปที่ส่งออกและแอปที่เผยแพร่เชื่อมต่อโดยตรง แอปคุยกับ Supabase เองทั้งในพรีวิวและเมื่อเผยแพร่ สำเนาที่ส่งออกจึงใช้งานได้ด้วยตัวเอง
คำถามที่พบบ่อย
หัวข้อที่มีชื่อว่า “คำถามที่พบบ่อย”ผู้ใช้ต้องสมัครใช้งานใหม่ไหม
ไม่ต้อง บัญชีและรหัสผ่านของผู้ใช้ย้ายไปที่ Supabase พร้อมข้อมูลอื่นและใช้งานได้ต่อ
หลังย้ายแล้วข้อมูลอยู่ทั้งสองที่ไหม
ไม่ แอปอ่านและเขียนเฉพาะ Supabase เท่านั้น MonstarX เก็บสำเนาเดิมไว้โดยไม่แตะต้องเผื่อคุณย้ายกลับ แต่แอปไม่ได้ใช้สำเนานั้นแล้ว
ต้องใช้สตริงการเชื่อมต่อตัวไหน
ใน Supabase คลิก Connect แล้วคัดลอกสตริงแบบ Transaction pooler โดยใส่รหัสผ่านฐานข้อมูลแทน [YOUR-PASSWORD]
ใช้โปรเจกต์ Supabase ที่มีข้อมูลอยู่แล้วได้ไหม
ให้ใช้โปรเจกต์ว่าง MonstarX จะไม่รับโปรเจกต์ที่มีตารางชื่อเดียวกับตารางของแอปและมีข้อมูลอยู่แล้ว ข้อมูลของคุณจึงไม่ถูกเขียนทับ
การย้ายมีค่าใช้จ่ายไหม
การคัดลอกข้อมูลไม่มีค่าใช้จ่าย การเขียนโค้ดใหม่หลังจากนั้นเป็นคำขอสร้างตามปกติ และ Supabase เรียกเก็บเงินจากบัญชี Supabase ของคุณตามราคาของ Supabase เอง