콘텐츠로 이동

앱 데이터를 Railway Postgres에 보관하기

핵심 요약Railway 커넥터는 서로 별개인 두 가지 일을 합니다. API 토큰, 프로젝트 ID, 환경 ID를 넣으면 앱을 Railway에 배포할 수 있습니다. 여기에 Railway Postgres 공개 연결 문자열까지 넣으면 MonstarX가 앱의 테이블과 행을 그곳으로 옮기고, 확인한 뒤, 앱이 그 데이터베이스를 쓰도록 수정합니다. 되돌리기로 데이터를 다시 가져올 수 있습니다.

Railway는 앱과 데이터베이스를 실행하는 클라우드 플랫폼입니다. MonstarX의 Railway 커넥터는 내 앱 하나를 내 Railway 프로젝트에 연결하며, 다음 두 가지 중 하나 또는 둘 다에 쓰입니다.

  • 앱 데이터를 Railway Postgres에 보관하기: MonstarX 데이터베이스 대신 Railway에 있는 내 Postgres 데이터베이스를 씁니다. 이 페이지에서 설명합니다.
  • 앱을 Railway에 배포하기: 앱의 GitHub 저장소에서 내 Railway 프로젝트로 앱을 배포해 실행합니다. 다른 호스팅에 게시하기를 참고하세요.

두 가지는 서로 독립적입니다. 데이터는 Railway Postgres에 두고 앱은 MonstarX에 게시할 수 있고, 그 반대도 가능합니다.

Railway Postgres는 언제 쓰면 좋나요?

섹션 제목: “Railway Postgres는 언제 쓰면 좋나요?”

이미 Railway에서 서비스를 운영하고 있거나, 앱 데이터를 내 계정에 두고 싶거나, 내 데이터베이스 도구로 데이터에 접근하고 싶을 때 고르세요. 그렇지 않다면 설정이 전혀 필요 없는 MonstarX 데이터베이스를 쓰면 됩니다. 앱 데이터베이스를 참고하세요.

앱은 한 번에 한곳에만 데이터를 보관합니다. Railway Postgres로 옮기는 것은 복사가 아니라 이동입니다.

Railway에서 할 일:

  1. Railway 프로젝트를 열거나 새로 만들고, 쓸 환경을 고르세요. 보통 production입니다.
  2. 프로젝트에 Postgres 데이터베이스 서비스를 추가하고 public networking을 켜세요. 그래야 MonstarX가 접근할 수 있습니다.
  3. Railway의 Account Settings → Tokens에서 계정 또는 워크스페이스 API 토큰을 만드세요. 프로젝트 토큰으로는 서비스를 만들 수 없어서 작동하지 않습니다.

MonstarX에서는 앱 데이터가 MonstarX 데이터베이스에 있어야 합니다. 데이터가 Supabase나 Firestore에 있다면 먼저 되돌리세요.

앱 데이터를 Railway Postgres로 어떻게 옮기나요?

섹션 제목: “앱 데이터를 Railway Postgres로 어떻게 옮기나요?”
  1. 프로젝트를 열고 상단 바에서 백엔드를 클릭한 다음 클라우드를 클릭하세요.

  2. 커넥터에서 Railway 옆의 연결을 클릭하세요. 이 앱이 데이터를 보관하는 위치에서 Railway (Postgres)를 골라도 됩니다.

  3. 양식을 채우세요.

    • 계정 또는 워크스페이스 API 토큰: Railway에서 만든 토큰입니다.
    • 프로젝트 ID: Railway 프로젝트 설정에서 찾을 수 있습니다.
    • 환경 ID: 같은 설정 화면에서 찾을 수 있습니다.
    • Postgres 공개 연결 문자열(선택 사항): Postgres 서비스의 DATABASE_PUBLIC_URL입니다. 이 값을 넣어야 이동이 시작됩니다. Railway에 배포만 하려면 비워 두세요.
  4. Railway 연결을 클릭하세요. MonstarX가 환경이 그 프로젝트에 속하는지, 데이터베이스에 테이블을 만들 수 있는지 확인합니다.

  5. 대화창에 이 앱의 데이터를 Railway Postgres로 이동 카드가 나타나고, 찾은 테이블과 행의 수가 표시됩니다. 내 앱 이동을 클릭하세요.

  6. 카드에 데이터 읽기, 테이블 만들기, 행 복사, 빠짐없이 옮겨졌는지 확인, 앱을 Railway로 연결, 앱 코드 다시 작성 단계가 차례로 표시되고, 마지막에 이제 앱이 Railway Postgres에서 실행됩니다라고 나옵니다.

그러면 백엔드클라우드의 데이터베이스 카드에 Railway 사용 중이 표시됩니다.

  • 모든 테이블과 행이 내 Railway Postgres 데이터베이스로 옮겨지며, MonstarX는 전환하기 전에 양쪽의 개수를 셉니다. 개수가 맞지 않으면 이동이 멈추고 앱은 원래 상태 그대로 남습니다.
  • MonstarX는 이전 사본을 손대지 않고 보관하므로 다시 되돌릴 수 있습니다.
  • 앱 코드는 Postgres에 맞게 다시 작성됩니다. MonstarX가 스스로 보내는 빌드 요청으로 진행됩니다.
  • 이동하는 동안 새 요청은 대기열에서 기다리며, 카드의 중지를 클릭하면 이동을 멈출 수 있습니다.

네. 백엔드클라우드의 데이터베이스 카드에서 되돌리기를 클릭하고 확인하세요. MonstarX가 모든 데이터를 자체 데이터베이스로 다시 복사하고 코드도 다시 작성합니다. Railway 데이터베이스는 그대로 남습니다.

  • 토큰은 MonstarX에만 있습니다. API 토큰, 프로젝트 ID, 환경 ID는 암호화되어 저장되며, MonstarX가 Railway를 관리할 때만 씁니다. 앱에는 절대 들어가지 않습니다.
  • 연결 문자열은 앱 서버에만, 전환 이후에만 전달됩니다. 브라우저에는 절대 전달되지 않습니다.
  • 앱이 Railway를 쓰는 동안에는 연결을 해제하거나 데이터베이스를 바꿀 수 없습니다. 먼저 되돌리세요.
  • Railway에서 게시를 취소하면 MonstarX가 만든 서비스만 삭제됩니다. 내 Postgres 데이터베이스는 절대 삭제되지 않습니다.
  • 가져온 앱은 자체 데이터베이스 코드를 그대로 씁니다. MonstarX는 연결 문자열을 RAILWAY_DATABASE_URL로 넘겨줄 뿐, 데이터를 옮기지는 않습니다.
  • Railway의 사설 주소로는 작동하지 않습니다. MonstarX가 데이터베이스에 접근하려면 공개 연결 문자열이 필요합니다.
Railway Postgres를 쓰려면 Railway에 배포해야 하나요?

아니요. 두 가지는 서로 독립적입니다. 데이터는 Railway Postgres에 두고, 앱은 계속 MonstarX에 게시할 수 있습니다.

어떤 연결 문자열을 붙여 넣어야 하나요?

Postgres 서비스의 public networking을 켠 뒤 나오는 DATABASE_PUBLIC_URL입니다. 사설 네트워크 주소로는 MonstarX가 접근할 수 없습니다.

토큰이 거부된 이유는 무엇인가요?

Railway 프로젝트 토큰으로는 서비스를 만들 수 없습니다. 대신 Railway의 Account Settings → Tokens에서 계정 또는 워크스페이스 토큰을 만드세요.

Supabase에서 Railway로 바꿀 수 있나요?

네, 두 번에 걸쳐 옮기면 됩니다. 되돌리기로 데이터를 MonstarX 데이터베이스로 가져온 다음 Railway Postgres를 연결하세요.

사용자가 다시 가입해야 하나요?

아니요. 계정은 앱 데이터베이스의 행이므로 나머지 데이터와 함께 옮겨지고 그대로 작동합니다.