ข้ามไปยังเนื้อหา

ฐานข้อมูลของแอป

สรุปสั้น ๆทุกแอปที่ MonstarX สร้างมีฐานข้อมูลส่วนตัวของตัวเอง สร้างให้ตั้งแต่งานสร้างแรก เปิด แบ็กเอนด์ → ฐานข้อมูล เพื่อดูทุกตาราง แถว และไมเกรชัน และรัน SQL แบบอ่านอย่างเดียว ถ้าต้องการเพิ่มหรือแก้ไขรายการข้อมูล ให้ใช้แท็บผู้ดูแลระบบหรือขอในแชท พรีวิวกับแอปที่เผยแพร่ใช้ข้อมูลชุดเดียวกัน และการกู้คืนเวอร์ชันไม่แตะข้อมูลเลย

ฐานข้อมูลคือที่ที่แอปเก็บข้อมูลไว้ เช่น เมนูของร้านกาแฟ คำสั่งซื้อที่ลูกค้าสั่ง สูตรอาหารที่คนโพสต์ และบัญชีที่ใช้ลงชื่อเข้าใช้ ทุกแอปที่คุณสร้างใน MonstarX มีฐานข้อมูลส่วนตัวของตัวเอง สร้างขึ้นตั้งแต่งานสร้างแรก แอปของคนอื่นอ่านฐานข้อมูลนี้ไม่ได้

คุณไม่ต้องออกแบบฐานข้อมูลเอง เมื่อขอฟีเจอร์ที่ต้องจำข้อมูล MonstarX จะเพิ่มตารางที่ต้องใช้และเขียนโค้ดสำหรับอ่านและเขียนข้อมูลให้

  1. เปิดโปรเจกต์แล้วคลิก แบ็กเอนด์ ในแถบด้านบน

  2. คลิก ฐานข้อมูล ทางซ้ายจะเห็น ตาราง แต่ละตารางมีจำนวนแถวกำกับ

  3. คลิกตารางเพื่อดูแถว MonstarX แสดง 50 แถวแรก

กล่องด้านบนรายการบอกว่าฐานข้อมูลอยู่ที่ไหนและชื่ออะไร ใต้รายการตาราง ไมเกรชัน แสดงทุกการเปลี่ยนแปลงที่ทำให้ฐานข้อมูลเป็นอย่างที่เห็นตอนนี้ (อ่านเพิ่มเติมด้านล่าง) คลิกลูกศรรีเฟรชข้าง ตาราง เพื่อนับแถวใหม่หลังจากมีคนใช้แอปแล้ว

ทุกแอปมี 4 ตารางตั้งแต่ก่อนคุณจะขออะไร ได้แก่ user, session, account และ verification ตารางเหล่านี้เก็บคนที่สมัครใช้งานแอปและการลงชื่อเข้าใช้ของพวกเขา ดู บัญชีผู้ใช้ ตารางอื่นทั้งหมดเป็นตารางที่ MonstarX สร้างให้แอปของคุณ เช่น menu_items หรือ recipes

ได้ ถ้าใช้เพื่อค้นดูข้อมูล SQL คือภาษาที่ใช้คุยกับฐานข้อมูล พิมพ์คิวรีในช่องด้านบนแล้วคลิก รัน ผลลัพธ์จะแสดงเป็นตารางด้านล่าง

ตัวอย่างเช่น

SELECT title, country_code, tags FROM recipes ORDER BY created_at DESC LIMIT 5

ข้อควรรู้

  • ช่องนี้เป็นแบบ อ่านอย่างเดียว รันได้ทีละคำสั่ง และเฉพาะคำสั่งที่อ่านข้อมูล ได้แก่ SELECT, WITH, PRAGMA และ EXPLAIN คำสั่งที่เปลี่ยนข้อมูล เช่น INSERT, UPDATE, DELETE หรือ DROP จะถูกปฏิเสธ คุณจึงไม่ทำแอปพังโดยไม่ตั้งใจ
  • แต่ละคิวรีแสดงได้สูงสุด 200 แถว
  • PRAGMA table_info(recipes) แสดงคอลัมน์ของตาราง
  • สำหรับแอปที่เก็บข้อมูลใน Supabase หรือ Railway Postgres ช่องนี้รับคำสั่ง SELECT, WITH, TABLE และ EXPLAIN

มี 2 วิธีง่าย ๆ และไม่ต้องใช้ SQL ทั้งคู่

  • แท็บผู้ดูแลระบบ ทุกแอปมีแผงผู้ดูแลระบบอยู่ข้าง ตัวอย่าง แสดงตารางเป็นแบบฟอร์มที่เข้าใจง่ายด้วยภาษาธุรกิจ ให้คุณเพิ่ม แก้ไข และลบรายการข้อมูลได้ พร้อมปุ่ม เลิกทำ การเปลี่ยนแปลงมีผลในแอปทันทีและไม่ใช้เครดิต ดู แผงผู้ดูแลระบบของแอป
  • แชท บอกสิ่งที่ต้องการ เช่น “เพิ่มแฟลตไวท์ราคา $4.50 ในเมนูกาแฟ” หรือ “ลบคำสั่งซื้อทดสอบ” ใน โหมดแชท MonstarX ยังดูข้อมูลและตอบคำถามเกี่ยวกับข้อมูลได้โดยไม่เปลี่ยนแปลงอะไร ดู โหมดสร้าง วางแผน และแชท

เมื่อฟีเจอร์ต้องมีที่เก็บข้อมูล MonstarX จะเขียน ไมเกรชัน ซึ่งเป็นชุดคำสั่งที่มีหมายเลขกำกับ ใช้สร้างหรือเปลี่ยนตาราง เช่น 0001_create_menu_and_orders MonstarX จะใช้ไมเกรชันกับฐานข้อมูลและบันทึกไว้กับโค้ด ตารางกับโค้ดจึงตรงกันเสมอ ไมเกรชันบางตัวเพิ่มข้อมูลเริ่มต้น เช่น เมนูตัวอย่าง (0002_seed_recipes ในตัวอย่างด้านบน)

รายการ ไมเกรชัน ในแท็บแบ็กเอนด์แสดงทุกไมเกรชันที่รันไปแล้วตามลำดับ 0000_monstarx_auth เป็นของ MonstarX เองและใช้สร้างตารางบัญชีผู้ใช้

ยังอยู่ ข้อมูลแยกจากโค้ด

  • งานสร้างใหม่ เก็บทุกแถวไว้ เมื่องานสร้างเปลี่ยนตาราง เช่น เพิ่มคอลัมน์ จะทำผ่านไมเกรชันที่เก็บข้อมูลเดิมไว้
  • การกู้คืนเวอร์ชัน นำโค้ดสำเนาก่อนหน้ากลับมาเท่านั้น ข้อมูลของแอปไม่เปลี่ยนแปลง ดู เวอร์ชัน
  • พรีวิวกับแอปที่เผยแพร่ใช้ฐานข้อมูลเดียวกัน คำสั่งซื้อที่คุณสั่งตอนทดสอบในพรีวิวจะอยู่ในแอปที่ออนไลน์ด้วย และกลับกันก็เช่นกัน นี่คือเหตุผลที่แถวตัวอย่างที่คุณเพิ่มตอนทดสอบจะไปแสดงให้ลูกค้าเห็นด้วย

ได้ ที่ แบ็กเอนด์คลาวด์ ส่วน ที่แอปนี้เก็บข้อมูลไว้ ให้คุณเลือกได้ว่า

  • ฐานข้อมูล MonstarX ค่าเริ่มต้น ไม่ต้องตั้งค่าอะไร
  • Supabase (Postgres) โปรเจกต์ Supabase ของคุณเอง Postgres เป็นฐานข้อมูลยอดนิยมที่หลายทีมใช้อยู่แล้ว ดู Supabase
  • Railway (Postgres) ฐานข้อมูล Railway ของคุณเอง ดู Railway
  • Firestore (โปรเจกต์ Firebase ของคุณ) เก็บรายการข้อมูลของแอปไว้ใน Firebase ดู Firebase

MonstarX จะคัดลอกตาราง แถว และบัญชีผู้ใช้ไป และเขียนแอปใหม่ให้ใช้ที่เก็บแห่งใหม่ ย้ายกลับได้ภายหลังด้วย ย้ายกลับ เมื่อข้อมูลอยู่ใน Firestore ส่วน ฐานข้อมูล จะแสดงคอลเลกชันใน Firestore แทนตาราง (อ่านอย่างเดียว แอปเป็นผู้เขียนข้อมูล)

แก้ไขแถวจากส่วนฐานข้อมูลได้เลยไหม

ไม่ได้ ส่วนฐานข้อมูลอ่านได้อย่างเดียว แก้ไขรายการข้อมูลในแท็บ ผู้ดูแลระบบ ซึ่งใช้งานเหมือนสเปรดชีตที่เข้าใจง่ายและมีปุ่มเลิกทำ หรือขอ MonstarX ในแชท ดู แผงผู้ดูแลระบบของแอป

ทำไมคำสั่งซื้อทดสอบไปโผล่ในแอปที่ออนไลน์

พรีวิวกับแอปที่เผยแพร่ใช้ฐานข้อมูลเดียวกัน ทุกอย่างที่เพิ่มตอนทดสอบจึงเป็นข้อมูลจริง ทดสอบเสร็จแล้วให้ลบแถวทดสอบในแท็บผู้ดูแลระบบ

การกู้คืนเวอร์ชันเก่าจะลบข้อมูลไหม

ไม่ลบ การกู้คืนเวอร์ชันแทนที่เฉพาะโค้ด ทุกแถวในฐานข้อมูลยังอยู่เหมือนเดิม

ดาวน์โหลดข้อมูลได้ไหม

อ่านตารางใดก็ได้ด้วยคิวรี SELECT แล้วคัดลอกผลลัพธ์ หรือย้ายข้อมูลไปไว้ในฐานข้อมูล Supabase หรือ Railway Postgres ของคุณเอง ซึ่งคุณเข้าถึงข้อมูลได้เต็มที่

เป็นฐานข้อมูลแบบไหน

ฐานข้อมูล SQL ส่วนตัวสำหรับแต่ละแอป SQL เป็นภาษามาตรฐานของฐานข้อมูล นักพัฒนาคนไหนก็ทำงานด้วยได้ ถ้าต้องการ Postgres ให้ย้ายข้อมูลไปที่ Supabase หรือ Railway

ทำไมเห็นข้อความว่าแอปนี้นำเข้ามา

MonstarX ไม่ได้สร้างฐานข้อมูลให้แอปที่นำเข้า ข้อมูลอยู่ที่ใดก็ตามที่โค้ดของแอปเก็บไว้ ส่วนคีย์ที่แอปอ่านอยู่ที่ ข้อมูลลับ