Bỏ qua để đến nội dung

Lưu dữ liệu ứng dụng trong Supabase của riêng bạn

Tóm tắtKết nối Supabase trong Dịch vụ đám mây → Đám mây bằng chuỗi kết nối của dự án. MonstarX đếm bảng, hàng và tài khoản, và khi bạn nhấp vào Chuyển ứng dụng của tôi, MonstarX sao chép mọi thứ sang Supabase, kiểm tra từng hàng đã tới nơi, trỏ ứng dụng sang đó và viết lại mã nguồn. Từ đó dữ liệu chỉ nằm trong Supabase; nút Chuyển về đưa dữ liệu trở lại.

Mọi ứng dụng MonstarX đều có cơ sở dữ liệu riêng — nơi lưu thông tin như lượt đặt chỗ, đơn hàng và lượt đăng ký. Nếu bạn muốn giữ thông tin đó trong dự án Supabase của riêng mình (một dịch vụ cơ sở dữ liệu Postgres phổ biến), MonstarX có thể chuyển dữ liệu sang đó giúp bạn và sửa ứng dụng để dùng Supabase.

Mỗi ứng dụng chỉ lưu dữ liệu ở một nơi tại một thời điểm: cơ sở dữ liệu của MonstarX hoặc của bạn, không bao giờ cả hai. Vì vậy, kết nối Supabase là chuyển dữ liệu đi, không phải sao chép.

Khi nào tôi nên dùng Supabase của riêng mình?

Phần tiêu đề “Khi nào tôi nên dùng Supabase của riêng mình?”

Hãy chọn Supabase khi:

  • Công ty bạn đã dùng Supabase, hoặc có quy định dữ liệu khách hàng phải nằm trong tài khoản của công ty.
  • Bạn muốn mở dữ liệu trực tiếp trong bảng điều khiển, trình soạn SQL hoặc công cụ báo cáo của Supabase.
  • Bạn muốn tự quản lý sao lưu và quyền truy cập cơ sở dữ liệu.

Nếu không rơi vào trường hợp nào ở trên, cơ sở dữ liệu của MonstarX là lựa chọn đơn giản hơn: không cần cài đặt, không phải trả phí riêng. Xem Cơ sở dữ liệu của ứng dụng.

  • Tạo một dự án Supabase mới, còn trống. MonstarX tự tạo bảng, và sẽ từ chối dự án đã có bảng trùng tên chứa dữ liệu.
  • Chuẩn bị sẵn mật khẩu cơ sở dữ liệu. Bạn đã đặt mật khẩu này khi tạo dự án Supabase.
  • Nếu ứng dụng đang lưu dữ liệu trong Firestore (xem Firebase), hãy chuyển về cơ sở dữ liệu MonstarX trước.

Làm sao để chuyển dữ liệu ứng dụng sang Supabase?

Phần tiêu đề “Làm sao để chuyển dữ liệu ứng dụng sang Supabase?”
  1. Trong Supabase, mở dự án và nhấp vào Connect. Sao chép chuỗi kết nối Transaction pooler, rồi thay [YOUR-PASSWORD] bằng mật khẩu cơ sở dữ liệu của bạn.

  2. Trong MonstarX, mở dự án và nhấp vào Dịch vụ đám mây trên thanh trên cùng, rồi nhấp Đám mây.

  3. Trong Trình kết nối, nhấp vào Kết nối bên cạnh Supabase — hoặc chọn Supabase (Postgres) trong Nơi ứng dụng này lưu dữ liệu, lựa chọn này mở cùng một biểu mẫu.

  4. Dán chuỗi kết nối vào Chuỗi kết nối. Các trường khác không bắt buộc:

    • URL dự án và Khóa anon — chỉ khi ứng dụng cũng cần dùng API hoặc bộ lưu trữ của chính Supabase.
    • Khóa service role — hãy giữ bí mật. Bạn có thể để trống: khóa này dùng để chuyển đăng nhập hoặc tệp sang Supabase, điều mà quá trình chuyển dữ liệu hiện chưa làm.
  5. Nhấp vào Kết nối Supabase. MonstarX kiểm tra xem có tạo được bảng ở đó không trước khi lưu bất cứ thứ gì.

  6. Một thẻ hiện ra trong cuộc trò chuyện: Chuyển dữ liệu ứng dụng sang Supabase, kèm những gì MonstarX tìm thấy — ví dụ “6 bảng · 214 hàng · 3 tài khoản · không thay đổi gì cho đến khi bạn đồng ý”. Thẻ cũng cho biết những gì vẫn giữ nguyên chỗ cũ.

  7. Nhấp vào Chuyển ứng dụng của tôi (hoặc Để sau để quyết định sau).

Sau đó thẻ hiện từng bước khi đang diễn ra:

  1. Đang kiểm tra kết nối
  2. Đang đọc dữ liệu ứng dụng
  3. Đang tạo bảng trong Supabase
  4. Đang sao chép hàng dữ liệu
  5. Đang kiểm tra dữ liệu đã chuyển đầy đủ
  6. Đang chuyển ứng dụng sang dùng Supabase
  7. Đang viết lại mã nguồn ứng dụng

Khi xong, thẻ ghi Ứng dụng của bạn hiện chạy trên Supabase, và thẻ Cơ sở dữ liệu trong Dịch vụ đám mâyĐám mây có nhãn Trên Supabase.

Những gì được chuyển, những gì ở lại MonstarX?

Phần tiêu đề “Những gì được chuyển, những gì ở lại MonstarX?”
Điều gì xảy ra
Bảng và hàngĐược sao chép sang Supabase, kèm liên kết giữa các bảng, chỉ mục và bộ đếm id.
Tài khoảnĐược chuyển cùng dữ liệu, kể cả mật khẩu, và vẫn dùng được. Cách đăng nhập vẫn giữ như ứng dụng đang làm hiện nay.
Tệp đã tải lênVẫn nằm trong bộ lưu trữ tệp của MonstarX. Mọi liên kết tới tệp vẫn hoạt động.
Mã nguồn ứng dụngMonstarX viết lại những phần làm việc với cơ sở dữ liệu cho Postgres, bằng một yêu cầu xây dựng do chính MonstarX gửi.
Bản sao cũ ở MonstarXĐược giữ nguyên, không đụng tới, để bạn có thể chuyển về.

Hiện chưa thể chuyển đăng nhập sang Supabase Auth, hay tệp sang Supabase Storage.

Dữ liệu của tôi có an toàn trong lúc chuyển không?

Phần tiêu đề “Dữ liệu của tôi có an toàn trong lúc chuyển không?”
  • Không có gì thay đổi cho tới khi mọi hàng đã tới nơi. MonstarX đếm số hàng ở cả hai bên trước khi chuyển ứng dụng sang. Nếu số đếm khác nhau — ví dụ có người dùng ứng dụng trong lúc đang chuyển — quá trình chuyển dừng lại và ứng dụng giữ nguyên như cũ.
  • Lần chuyển thất bại hoặc bị dừng sẽ tự dọn dẹp. MonstarX chỉ xóa những bảng mình đã tạo, và ghi rõ trên thẻ. Bạn có thể tự dừng bằng cách nhấp vào Dừng trên thẻ.
  • Dự án tạm chờ. Trong lúc chuyển, các yêu cầu mới chờ trong hàng đợi, giống như khi đang xây dựng.
  • Row-level security được bật. Mọi bảng MonstarX tạo trong Supabase đều bật row-level security, nên không ai đọc hay sửa được dữ liệu qua API công khai của Supabase. Ứng dụng truy cập dữ liệu qua kết nối riêng của mình.

Tôi có thể chuyển về cơ sở dữ liệu của MonstarX không?

Phần tiêu đề “Tôi có thể chuyển về cơ sở dữ liệu của MonstarX không?”

Được. Mở Dịch vụ đám mâyĐám mây và nhấp vào Chuyển về trên thẻ Cơ sở dữ liệu, rồi xác nhận. MonstarX sao chép mọi thứ về cơ sở dữ liệu của mình, khôi phục kiểu cột ban đầu của ứng dụng và viết lại mã nguồn lần nữa. Dự án Supabase vẫn giữ các bảng — không có gì bị xóa ở đó.

  • Bạn không thể ngắt kết nối Supabase khi ứng dụng đang dùng. MonstarX sẽ từ chối, vì ứng dụng sẽ không còn cơ sở dữ liệu nào. Hãy chuyển về trước.
  • Khóa mới phải trỏ tới cùng dữ liệu. Nếu bạn cập nhật chuỗi kết nối, chuỗi mới phải dẫn tới cơ sở dữ liệu đang chứa các bảng của ứng dụng.
  • Supabase hoặc Railway, không phải cả hai. Muốn đổi từ bên này sang bên kia, hãy chuyển về cơ sở dữ liệu MonstarX trước. Xem Railway.
  • Ứng dụng đã xuất hoặc đã xuất bản kết nối trực tiếp. Ứng dụng tự làm việc với Supabase, cả trong bản xem trước lẫn khi đã xuất bản, nên bản đã xuất chạy được độc lập.
Người dùng của tôi có phải đăng ký lại không?

Không. Tài khoản và mật khẩu của họ được chuyển sang Supabase cùng phần còn lại của dữ liệu và vẫn dùng được.

Sau đó dữ liệu có nằm ở cả hai nơi không?

Không. Ứng dụng chỉ đọc và ghi Supabase. MonstarX giữ nguyên bản sao cũ phòng khi bạn chuyển về, nhưng ứng dụng không dùng bản đó nữa.

Tôi dùng chuỗi kết nối nào?

Trong Supabase, nhấp vào Connect và sao chép chuỗi Transaction pooler, thay [YOUR-PASSWORD] bằng mật khẩu cơ sở dữ liệu của bạn.

Tôi có dùng được dự án Supabase đã có dữ liệu không?

Hãy dùng một dự án trống. MonstarX từ chối dự án đã có bảng trùng tên với bảng của ứng dụng và có dữ liệu, để không ghi đè lên bất cứ thứ gì của bạn.

Chuyển dữ liệu có mất phí không?

Sao chép dữ liệu thì không. Bước viết lại mã nguồn sau đó là một yêu cầu xây dựng bình thường, còn Supabase tính phí vào tài khoản Supabase của bạn theo bảng giá riêng.