Lưu dữ liệu ứng dụng trong Railway Postgres
Tóm tắtTrình kết nối Railway làm hai việc riêng biệt. Với token API, ID dự án và ID môi trường, bạn có thể triển khai ứng dụng lên Railway. Thêm cả chuỗi kết nối công khai Railway Postgres, và MonstarX sẽ chuyển bảng và hàng của ứng dụng sang đó, kiểm tra lại rồi viết lại ứng dụng để dùng cơ sở dữ liệu này. Nút Chuyển về đưa dữ liệu trở lại.
Railway là một nền tảng đám mây để chạy ứng dụng và cơ sở dữ liệu. Trình kết nối Railway của MonstarX nối một ứng dụng của bạn với dự án Railway của bạn, cho một hoặc cả hai việc:
- Lưu dữ liệu ứng dụng trong Railway Postgres — cơ sở dữ liệu Postgres của riêng bạn trên Railway, thay cho cơ sở dữ liệu của MonstarX. Trang này giải thích việc đó.
- Triển khai ứng dụng lên Railway — chạy ứng dụng trên dự án Railway của bạn từ kho mã GitHub của ứng dụng. Xem Xuất bản lên nền tảng khác.
Hai việc này độc lập với nhau: dữ liệu có thể nằm trong Railway Postgres trong khi ứng dụng được xuất bản trên MonstarX, và ngược lại.
Khi nào tôi nên dùng Railway Postgres?
Phần tiêu đề “Khi nào tôi nên dùng Railway Postgres?”Hãy chọn Railway Postgres khi bạn đã chạy hệ thống trên Railway, muốn dữ liệu ứng dụng nằm trong tài khoản của mình, hoặc muốn truy cập dữ liệu bằng công cụ cơ sở dữ liệu riêng. Nếu không, cơ sở dữ liệu của MonstarX hoàn toàn không cần cài đặt — xem Cơ sở dữ liệu của ứng dụng.
Mỗi ứng dụng chỉ lưu dữ liệu ở một nơi tại một thời điểm. Chuyển sang Railway Postgres là chuyển dữ liệu đi, không phải sao chép.
Trước khi bắt đầu
Phần tiêu đề “Trước khi bắt đầu”Trong Railway:
- Mở (hoặc tạo) một dự án Railway và chọn môi trường sẽ dùng, thường là production.
- Thêm một dịch vụ cơ sở dữ liệu Postgres vào dự án và bật public networking cho dịch vụ đó, để MonstarX kết nối được.
- Tạo một token API tài khoản hoặc không gian làm việc trong Account Settings → Tokens của Railway. Token dự án không tạo được dịch vụ, nên sẽ không dùng được.
Trong MonstarX, dữ liệu ứng dụng phải đang nằm trong cơ sở dữ liệu của MonstarX. Nếu dữ liệu đang ở Supabase hoặc Firestore, hãy chuyển về trước.
Làm sao để chuyển dữ liệu ứng dụng sang Railway Postgres?
Phần tiêu đề “Làm sao để chuyển dữ liệu ứng dụng sang Railway Postgres?”-
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.
-
Trong Trình kết nối, nhấp vào Kết nối bên cạnh Railway — hoặc chọn Railway (Postgres) trong Nơi ứng dụng này lưu dữ liệu.
-
Điền biểu mẫu:
- Token API tài khoản hoặc không gian làm việc — token lấy từ Railway.
- ID dự án — lấy trong phần cài đặt dự án Railway.
- ID môi trường — cũng lấy trong phần cài đặt đó.
- Chuỗi kết nối công khai Postgres (không bắt buộc) — giá trị
DATABASE_PUBLIC_URLcủa dịch vụ Postgres. Chính trường này khởi động quá trình chuyển dữ liệu; hãy để trống nếu bạn chỉ muốn triển khai lên Railway.
-
Nhấp vào Kết nối Railway. MonstarX kiểm tra môi trường có thuộc dự án không, và có tạo được bảng trong cơ sở dữ liệu không.
-
Một thẻ hiện ra trong cuộc trò chuyện: Chuyển dữ liệu ứng dụng sang Railway Postgres, kèm số bảng và số hàng tìm thấy. Nhấp vào Chuyển ứng dụng của tôi.
-
Thẻ hiện từng bước — đọc dữ liệu, tạo bảng, sao chép hàng, kiểm tra dữ liệu đã chuyển đầy đủ, chuyển ứng dụng sang dùng Railway, viết lại mã nguồn — và kết thúc bằng Ứng dụng của bạn hiện chạy trên Railway Postgres.
Sau đó, thẻ Cơ sở dữ liệu trong Dịch vụ đám mâyĐám mây ghi Trên Railway.
Dữ liệu của tôi sẽ ra sao?
Phần tiêu đề “Dữ liệu của tôi sẽ ra sao?”- Mọi bảng và hàng được đưa vào cơ sở dữ liệu Railway Postgres của bạn, và MonstarX đếm số hàng ở cả hai bên trước khi chuyển ứng dụng sang. Nếu số đếm không khớp, quá trình chuyển dừng lại và ứng dụng giữ nguyên như cũ.
- MonstarX giữ bản sao trước đó, không đụng tới, để bạn có thể chuyển về.
- Mã nguồn ứng dụng được viết lại cho Postgres bằng một yêu cầu xây dựng do chính MonstarX gửi.
- Trong lúc chuyển, các yêu cầu mới chờ trong hàng đợi, và nút Dừng trên thẻ sẽ dừng quá trình chuyển.
Tôi có thể chuyển về không?
Phần tiêu đề “Tôi có thể chuyển về không?”Được. Nhấp vào Chuyển về trên thẻ Cơ sở dữ liệu trong Dịch vụ đám mâyĐám mây rồi xác nhận. MonstarX sao chép mọi thứ về cơ sở dữ liệu của mình và viết lại mã nguồn lần nữa. Cơ sở dữ liệu Railway của bạn vẫn giữ nguyên.
Điều cần biết
Phần tiêu đề “Điều cần biết”- Token nằm lại ở MonstarX. Token API, ID dự án và ID môi trường được lưu mã hóa và chỉ MonstarX dùng để quản lý Railway. Chúng không bao giờ được đưa vào ứng dụng.
- Chuỗi kết nối chỉ tới máy chủ của ứng dụng, và chỉ sau khi đã chuyển xong. Chuỗi này không bao giờ tới trình duyệt.
- Bạn không thể ngắt kết nối Railway, hay đổi cơ sở dữ liệu của Railway, khi ứng dụng đang dùng. Hãy chuyển về trước.
- Hủy xuất bản khỏi Railway chỉ gỡ dịch vụ mà MonstarX đã tạo, không bao giờ xóa cơ sở dữ liệu Postgres của bạn.
- Ứng dụng đã nhập giữ mã cơ sở dữ liệu riêng: MonstarX đưa chuỗi kết nối cho ứng dụng dưới tên
RAILWAY_DATABASE_URLnhưng không chuyển dữ liệu. - Địa chỉ Railway riêng tư sẽ không dùng được. MonstarX cần chuỗi kết nối công khai để kết nối tới cơ sở dữ liệu.
Câu hỏi thường gặp
Phần tiêu đề “Câu hỏi thường gặp”Tôi có phải triển khai lên Railway mới dùng được Railway Postgres không?
Không. Hai việc này độc lập với nhau. Ứng dụng vẫn có thể xuất bản trên MonstarX trong khi dữ liệu nằm trong Railway Postgres.
Tôi dán chuỗi kết nối nào?
Giá trị DATABASE_PUBLIC_URL của dịch vụ Postgres, sau khi đã bật public networking cho dịch vụ đó. MonstarX không kết nối được tới địa chỉ mạng riêng.
Vì sao token của tôi bị từ chối?
Token dự án Railway không tạo được dịch vụ. Hãy tạo token tài khoản hoặc không gian làm việc trong Account Settings → Tokens của Railway.
Tôi có thể chuyển từ Supabase sang Railway không?
Được, qua hai lần chuyển: dùng Chuyển về để đưa dữ liệu về cơ sở dữ liệu MonstarX, rồi kết nối Railway Postgres.
Người dùng của tôi có phải đăng ký lại không?
Không. Tài khoản là các hàng trong cơ sở dữ liệu của ứng dụng, nên được chuyển cùng phần còn lại của dữ liệu và vẫn dùng được.