앱 데이터를 내 Supabase에 보관하기
핵심 요약백엔드 → 클라우드에서 프로젝트의 연결 문자열로 Supabase를 연결하세요. MonstarX가 테이블, 행, 계정의 수를 세고, 내 앱 이동을 클릭하면 모든 데이터를 Supabase로 복사하고, 모든 행이 도착했는지 확인하고, 앱이 Supabase를 쓰도록 연결하고, 코드를 다시 작성합니다. 그 뒤로 데이터는 Supabase에만 있습니다. 되돌리기로 다시 가져올 수 있습니다.
모든 MonstarX 앱에는 예약, 주문, 가입 정보 같은 정보를 보관하는 전용 데이터베이스가 있습니다. 이 정보를 내 Supabase 프로젝트(많이 쓰이는 호스팅형 Postgres 데이터베이스)에 두고 싶다면, MonstarX가 데이터를 옮기고 앱이 그곳을 쓰도록 바꿔 줍니다.
앱은 한 번에 한곳에만 데이터를 보관합니다. MonstarX 데이터베이스나 내 데이터베이스 중 하나이며, 둘 다 쓰지는 않습니다. 그래서 Supabase 연결은 복사가 아니라 이동입니다.
내 Supabase는 언제 쓰면 좋나요?
섹션 제목: “내 Supabase는 언제 쓰면 좋나요?”이럴 때 고르세요.
- 회사가 이미 Supabase를 쓰고 있거나, 고객 데이터를 회사 계정에 두어야 한다는 규칙이 있을 때
- Supabase 대시보드, SQL 편집기, 리포팅 도구에서 데이터를 직접 열어 보고 싶을 때
- 데이터베이스의 백업과 접근 권한을 직접 관리하고 싶을 때
해당하는 것이 없다면 MonstarX 데이터베이스가 더 간단합니다. 설정할 것도, 따로 낼 비용도 없습니다. 앱 데이터베이스를 참고하세요.
시작하기 전에
섹션 제목: “시작하기 전에”- 비어 있는 새 Supabase 프로젝트를 만드세요. 테이블은 MonstarX가 직접 만듭니다. 이름이 같은 테이블에 행이 들어 있는 프로젝트는 거부합니다.
- 데이터베이스 비밀번호를 준비해 두세요. Supabase 프로젝트를 만들 때 정한 비밀번호입니다.
- 앱 데이터가 Firestore에 있다면(Firebase 참고), 먼저 MonstarX 데이터베이스로 되돌리세요.
앱 데이터를 Supabase로 어떻게 옮기나요?
섹션 제목: “앱 데이터를 Supabase로 어떻게 옮기나요?”-
Supabase에서 프로젝트를 열고 Connect를 클릭하세요. Transaction pooler 연결 문자열을 복사하고,
[YOUR-PASSWORD]자리에 데이터베이스 비밀번호를 넣으세요. -
MonstarX에서 프로젝트를 열고 상단 바에서 백엔드를 클릭한 다음 클라우드를 클릭하세요.
-
커넥터에서 Supabase 옆의 연결을 클릭하세요. 이 앱이 데이터를 보관하는 위치에서 Supabase (Postgres)를 골라도 같은 양식이 열립니다.
-
연결 문자열에 연결 문자열을 붙여 넣으세요. 나머지 입력란은 선택 사항입니다.
- 프로젝트 URL과 anon 키: 앱이 Supabase 자체 API나 저장소도 써야 할 때만 넣습니다.
- service role 키: 비밀로 지켜야 하는 키입니다. 비워 둬도 됩니다. 로그인이나 파일을 Supabase로 옮길 때 쓰는 키인데, 이동 기능은 아직 이 작업을 하지 않습니다.
-
Supabase 연결을 클릭하세요. MonstarX는 저장하기 전에 그곳에 테이블을 만들 수 있는지 확인합니다.
-
대화창에 이 앱의 데이터를 Supabase로 이동 카드가 나타나고, 찾은 내용이 표시됩니다. 예를 들면 “테이블 6개 · 행 214개 · 계정 3개 · 승인하기 전에는 변경되지 않습니다.”처럼 나옵니다. 그대로 남는 것도 함께 알려 줍니다.
-
내 앱 이동을 클릭하세요. 나중에 정하려면 나중에를 클릭하세요.
그다음 카드에 각 단계가 진행되는 대로 표시됩니다.
- 연결 확인
- 앱 데이터 읽기
- Supabase에 테이블 만들기
- 행 복사
- 데이터가 빠짐없이 옮겨졌는지 확인
- 앱을 Supabase에 연결
- 앱 코드 다시 작성
이동이 끝나면 카드에 이제 앱이 Supabase에서 실행됩니다라고 표시되고, 백엔드클라우드의 데이터베이스 카드에 Supabase 사용 중이 표시됩니다.
무엇이 옮겨지고, 무엇이 MonstarX에 남나요?
섹션 제목: “무엇이 옮겨지고, 무엇이 MonstarX에 남나요?”| 어떻게 되나요 | |
|---|---|
| 테이블과 행 | 연결 관계, 인덱스, ID 카운터와 함께 Supabase로 복사됩니다. |
| 계정 | 비밀번호를 포함해 데이터와 함께 옮겨지고 그대로 작동합니다. 로그인 방식 자체는 지금 앱이 쓰는 방식 그대로입니다. |
| 업로드한 파일 | MonstarX 파일 저장소에 남습니다. 파일로 가는 모든 링크는 그대로 작동합니다. |
| 앱 코드 | MonstarX가 스스로 보내는 빌드 요청으로, 데이터베이스와 통신하는 부분을 Postgres에 맞게 다시 작성합니다. |
| MonstarX의 이전 사본 | 손대지 않고 보관하므로 다시 되돌릴 수 있습니다. |
로그인을 Supabase Auth로, 파일을 Supabase Storage로 옮기는 기능은 아직 제공되지 않습니다.
이동하는 동안 데이터는 안전한가요?
섹션 제목: “이동하는 동안 데이터는 안전한가요?”- 모든 행이 도착할 때까지 아무것도 바뀌지 않습니다. MonstarX는 앱을 전환하기 전에 양쪽의 행 수를 셉니다. 이동 중에 누군가 앱을 써서 수가 달라지면 이동이 멈추고, 앱은 원래 상태 그대로 남습니다.
- 실패하거나 멈춘 이동은 뒷정리를 합니다. 이동 과정에서 만든 테이블만 지우고, 그 사실을 카드에 알려 줍니다. 직접 멈추려면 카드의 중지를 클릭하세요.
- 프로젝트는 기다립니다. 빌드할 때처럼 이동하는 동안 새 요청은 대기열에서 기다립니다.
- 행 수준 보안(RLS)이 켜져 있습니다. MonstarX가 Supabase에 만드는 모든 테이블은 행 수준 보안이 켜진 상태라서, 누구도 Supabase 공개 API로 데이터를 읽거나 바꿀 수 없습니다. 앱은 자체 비공개 연결로 데이터에 접근합니다.
MonstarX 데이터베이스로 되돌릴 수 있나요?
섹션 제목: “MonstarX 데이터베이스로 되돌릴 수 있나요?”네. 백엔드클라우드를 열고 데이터베이스 카드에서 되돌리기를 클릭한 뒤 확인하세요. MonstarX가 모든 데이터를 자체 데이터베이스로 다시 복사하고, 앱이 처음에 쓰던 열 유형을 복원하고, 코드를 다시 작성합니다. Supabase 프로젝트의 테이블은 그대로 남으며, 그곳에서는 아무것도 삭제되지 않습니다.
알아 두면 좋은 점
섹션 제목: “알아 두면 좋은 점”- 앱이 Supabase를 쓰는 동안에는 연결을 해제할 수 없습니다. 앱에 데이터베이스가 없어지므로 MonstarX가 거부합니다. 먼저 되돌리세요.
- 새 키도 같은 데이터를 가리켜야 합니다. 연결 문자열을 업데이트할 때는 앱의 테이블이 있는 데이터베이스에 연결되는 값이어야 합니다.
- Supabase와 Railway 중 하나만 쓸 수 있습니다. 한쪽에서 다른 쪽으로 옮기려면 먼저 MonstarX 데이터베이스로 되돌리세요. Railway를 참고하세요.
- 내보낸 앱과 게시된 앱은 Supabase에 직접 연결합니다. 미리보기에서도 게시된 앱에서도 앱이 직접 Supabase와 통신하므로, 내보낸 사본도 단독으로 작동합니다.
자주 묻는 질문
섹션 제목: “자주 묻는 질문”사용자가 다시 가입해야 하나요?
아니요. 계정과 비밀번호가 나머지 데이터와 함께 Supabase로 옮겨지고 그대로 작동합니다.
이동한 뒤에는 데이터가 양쪽에 다 있나요?
아니요. 앱은 Supabase만 읽고 씁니다. MonstarX는 되돌릴 때를 대비해 이전 사본을 손대지 않고 보관하지만, 앱은 더 이상 그 사본을 쓰지 않습니다.
어떤 연결 문자열을 써야 하나요?
Supabase에서 Connect를 클릭하고 Transaction pooler 문자열을 복사한 뒤, [YOUR-PASSWORD] 자리에 데이터베이스 비밀번호를 넣으세요.
이미 데이터가 있는 Supabase 프로젝트를 쓸 수 있나요?
빈 프로젝트를 쓰세요. 앱의 테이블과 이름이 같은 테이블에 행이 들어 있는 프로젝트는 MonstarX가 거부하므로, 기존 데이터를 덮어쓰는 일은 없습니다.
이동에 비용이 드나요?
데이터 복사에는 비용이 들지 않습니다. 이후의 코드 수정은 일반 빌드 요청이며, Supabase는 자체 요금 정책에 따라 내 Supabase 계정에 요금을 청구합니다.