Cơ sở dữ liệu của ứng dụng
Tóm tắtMọi ứng dụng MonstarX xây dựng đều có cơ sở dữ liệu riêng tư, được tạo sẵn ở lần xây dựng đầu tiên. Mở Dịch vụ đám mây → Cơ sở dữ liệu để xem mọi bảng, các hàng, các migration và chạy SQL chỉ đọc. Để thêm hoặc sửa bản ghi, hãy dùng tab Quản trị hoặc yêu cầu trong cuộc trò chuyện. Bản xem trước và ứng dụng đã xuất bản dùng chung một dữ liệu, và khôi phục phiên bản không bao giờ đụng đến dữ liệu.
Cơ sở dữ liệu là nơi ứng dụng lưu thông tin: thực đơn của quán cà phê, đơn hàng khách đặt, công thức người dùng đăng, tài khoản họ dùng để đăng nhập. Mọi ứng dụng bạn tạo trong MonstarX đều có cơ sở dữ liệu riêng tư, được tạo ở lần xây dựng đầu tiên. Không ứng dụng nào khác đọc được.
Bạn không bao giờ phải tự thiết kế cơ sở dữ liệu. Khi bạn yêu cầu một tính năng cần ghi nhớ thông tin, MonstarX thêm những bảng cần thiết và viết sẵn mã để đọc, ghi các bảng đó.
Tôi xem dữ liệu của ứng dụng ở đâu?
Phần tiêu đề “Tôi xem dữ liệu của ứng dụng ở đâu?”-
Mở dự án và nhấp vào Dịch vụ đám mây trên thanh trên cùng.
-
Nhấp vào Cơ sở dữ liệu. Bên trái là danh sách Bảng, mỗi bảng kèm số hàng.
-
Nhấp vào một bảng để xem các hàng. MonstarX hiện 50 hàng đầu tiên.
Ô ở đầu danh sách cho biết cơ sở dữ liệu nằm ở đâu và tên của cơ sở dữ liệu. Bên dưới các bảng, Migration liệt kê mọi thay đổi đã định hình cơ sở dữ liệu tới nay (xem thêm ở phần dưới). Sau khi ứng dụng được dùng một thời gian, nhấp vào mũi tên làm mới bên cạnh Bảng để đếm lại số hàng.
Những bảng nào đã có sẵn?
Phần tiêu đề “Những bảng nào đã có sẵn?”Bốn bảng có sẵn trong mọi ứng dụng trước cả khi bạn yêu cầu gì: user, session, account và verification. Các bảng này lưu những người đăng ký ứng dụng của bạn và các lần đăng nhập của họ. Xem Tài khoản người dùng. Mọi bảng còn lại đều do MonstarX tạo cho ứng dụng của bạn, như menu_items hay recipes.
Tôi có thể tự chạy SQL không?
Phần tiêu đề “Tôi có thể tự chạy SQL không?”Được, để tra cứu. SQL là ngôn ngữ mà cơ sở dữ liệu hiểu. Nhập một truy vấn vào ô ở phía trên và nhấp vào Chạy. Kết quả hiện thành bảng ngay bên dưới.
Ví dụ:
SELECT title, country_code, tags FROM recipes ORDER BY created_at DESC LIMIT 5Điều cần biết:
- Ô này chỉ đọc. Mỗi lần chạy một câu lệnh, và chỉ những câu lệnh đọc dữ liệu:
SELECT,WITH,PRAGMAvàEXPLAIN. Mọi câu lệnh làm thay đổi dữ liệu —INSERT,UPDATE,DELETE,DROP— đều bị từ chối, nên bạn không thể vô tình làm hỏng ứng dụng. - Mỗi truy vấn hiện tối đa 200 hàng.
PRAGMA table_info(recipes)liệt kê các cột của một bảng.- Với ứng dụng có dữ liệu nằm trong Supabase hoặc Railway Postgres, ô này nhận
SELECT,WITH,TABLEvàEXPLAIN.
Làm sao để thêm, sửa hoặc xóa bản ghi?
Phần tiêu đề “Làm sao để thêm, sửa hoặc xóa bản ghi?”Bạn có hai cách dễ dàng, cả hai đều không cần SQL:
- Tab Quản trị. Mọi ứng dụng đều có trang quản trị nằm cạnh Xem trước. Trang này hiện các bảng dưới dạng biểu mẫu dễ dùng, bằng ngôn ngữ kinh doanh, nơi bạn thêm, sửa và xóa bản ghi — có cả Hoàn tác. Thay đổi có hiệu lực trong ứng dụng ngay lập tức và không tốn điểm sử dụng. Xem Trang quản trị của ứng dụng.
- Cuộc trò chuyện. Nói điều bạn muốn, chẳng hạn “thêm Flat White vào thực đơn cà phê, giá $4,50” hoặc “xóa các đơn hàng thử nghiệm”. Ở chế độ Trò chuyện, MonstarX còn có thể xem dữ liệu và trả lời câu hỏi về dữ liệu mà không thay đổi gì — xem Xây dựng, Kế hoạch và Trò chuyện.
MonstarX làm gì với cơ sở dữ liệu khi xây dựng?
Phần tiêu đề “MonstarX làm gì với cơ sở dữ liệu khi xây dựng?”Khi một tính năng cần chỗ lưu thông tin, MonstarX viết một migration: một bộ chỉ dẫn được đánh số để tạo hoặc thay đổi bảng, như 0001_create_menu_and_orders. MonstarX áp dụng migration vào cơ sở dữ liệu và lưu kèm mã nguồn, nên bảng và mã nguồn luôn khớp nhau. Một số migration thêm dữ liệu ban đầu, như thực đơn mẫu (0002_seed_recipes trong ví dụ ở trên).
Danh sách Migration trong Dịch vụ đám mây hiện mọi migration đã chạy, theo thứ tự. 0000_monstarx_auth là migration của chính MonstarX, dùng để tạo các bảng tài khoản.
Dữ liệu có còn nguyên khi tôi thay đổi hoặc khôi phục ứng dụng không?
Phần tiêu đề “Dữ liệu có còn nguyên khi tôi thay đổi hoặc khôi phục ứng dụng không?”Có. Dữ liệu được lưu tách biệt với mã nguồn:
- Các lần xây dựng mới giữ nguyên mọi hàng. Khi một lần xây dựng thay đổi bảng — ví dụ thêm một cột — MonstarX dùng migration để giữ lại những gì đã có.
- Khôi phục một phiên bản chỉ đưa mã nguồn về bản cũ. Dữ liệu ứng dụng không thay đổi. Xem Phiên bản.
- Bản xem trước và ứng dụng đã xuất bản dùng chung một cơ sở dữ liệu. Đơn hàng bạn đặt khi thử bản xem trước cũng có trong ứng dụng đang hoạt động, và ngược lại. Vì vậy, một hàng mẫu bạn thêm khi thử nghiệm cũng sẽ hiện ra với khách hàng của bạn.
Tôi có thể lưu dữ liệu trong cơ sở dữ liệu của riêng mình không?
Phần tiêu đề “Tôi có thể lưu dữ liệu trong cơ sở dữ liệu của riêng mình không?”Được. Trong Dịch vụ đám mâyĐám mây, mục Nơi ứng dụng này lưu dữ liệu cho bạn chọn:
- Cơ sở dữ liệu MonstarX — mặc định, không cần cài đặt gì.
- Supabase (Postgres) — dự án Supabase của riêng bạn. Postgres là cơ sở dữ liệu phổ biến mà nhiều nhóm đang dùng. Xem Supabase.
- Railway (Postgres) — cơ sở dữ liệu Railway của riêng bạn. Xem Railway.
- Firestore (dự án Firebase của bạn) — bản ghi của ứng dụng nằm trong Firebase. Xem Firebase.
MonstarX sao chép bảng, hàng và tài khoản sang nơi mới, rồi viết lại ứng dụng để dùng nơi đó. Sau này bạn có thể chuyển lại bằng nút Chuyển về. Khi dữ liệu nằm trong Firestore, mục Cơ sở dữ liệu hiện các bộ sưu tập Firestore thay cho bảng (chỉ đọc; ứng dụng tự ghi vào đó).
Câu hỏi thường gặp
Phần tiêu đề “Câu hỏi thường gặp”Tôi có thể sửa một hàng ngay trong mục Cơ sở dữ liệu không?
Không, mục Cơ sở dữ liệu chỉ đọc. Hãy sửa bản ghi trong tab Quản trị — hoạt động như một bảng tính dễ dùng có Hoàn tác — hoặc yêu cầu MonstarX trong cuộc trò chuyện. Xem Trang quản trị của ứng dụng.
Vì sao đơn hàng thử nghiệm của tôi lại hiện trong ứng dụng đang hoạt động?
Bản xem trước và ứng dụng đã xuất bản dùng chung một cơ sở dữ liệu, nên mọi thứ bạn thêm khi thử nghiệm đều là dữ liệu thật. Thử xong, hãy xóa các hàng thử nghiệm trong tab Quản trị.
Khôi phục một phiên bản cũ có xóa dữ liệu của tôi không?
Không. Khôi phục phiên bản chỉ thay mã nguồn. Mọi hàng trong cơ sở dữ liệu vẫn giữ nguyên.
Tôi có thể tải dữ liệu xuống không?
Bạn có thể đọc bất kỳ bảng nào bằng truy vấn SELECT rồi sao chép kết quả, hoặc chuyển dữ liệu sang cơ sở dữ liệu Supabase hay Railway Postgres của riêng bạn, nơi bạn có toàn quyền truy cập.
Đây là loại cơ sở dữ liệu gì?
Mỗi ứng dụng có một cơ sở dữ liệu SQL riêng tư. SQL là ngôn ngữ chuẩn của cơ sở dữ liệu, nên lập trình viên nào cũng làm việc được. Nếu bạn thích Postgres hơn, hãy chuyển dữ liệu sang Supabase hoặc Railway.
Vì sao tôi thấy thông báo rằng ứng dụng này là ứng dụng đã nhập?
MonstarX không tạo cơ sở dữ liệu cho ứng dụng đã nhập: dữ liệu nằm ở bất cứ đâu mà mã nguồn của ứng dụng đó lưu. Các khóa ứng dụng đọc nằm trong Giá trị bí mật.