메인 콘텐츠로 건너뛰기
일부 오래된 게시된 앱은 원래 다른 앱을 위해 만들어진 개발 데이터베이스에 여전히 연결되어 있을 수 있습니다. 이는 Replit에서 포크되거나 리믹스된 오래된 앱에서 발생할 수 있습니다. 레거시 Neon 설정에서는, 포크가 원본 앱의 데이터베이스 연결을 계속 사용할 수 있었습니다. Replit이 개발과 프로덕션 데이터베이스를 완전히 분리하는 방향으로 나아가면서, 오래된 공유 개발 데이터베이스는 제거되며 게시된 앱은 자체 프로덕션 데이터베이스로 이전해야 합니다. 게시된 앱에서 데이터베이스 연결 오류가 표시되거나, Secrets 패널의 DATABASE_URL이 여전히 neon.tech를 가리키고 있다면 이 가이드를 사용하세요.
이전 공유 데이터베이스는 2026년 6월 8일에 종료될 예정입니다. 다운타임이나 영구적인 데이터 손실을 피하려면 그 전에 게시된 앱을 업데이트하세요.

시작하기 전에

게시된 앱에는 자체 프로덕션 데이터베이스가 필요합니다. Database 패널에 표시되는 개발 데이터베이스는 게시된 앱에서 직접 사용해서는 안 됩니다.
Development 데이터베이스를 보여주는 데이터베이스 패널
이를 해결하려면 먼저 어떤 상황에 해당하는지 파악하세요.
  • 경우 1: 필요한 데이터가 앱의 Database 패널에 이미 존재합니다.
  • 경우 2: 게시된 앱이 여전히 이전 공유 개발 데이터베이스를 사용하고 있어서 Database 패널에 필요한 데이터가 표시되지 않습니다.

게시된 앱이 공유 데이터베이스를 사용하고 있는지 어떻게 알 수 있나요?

다음 중 하나라도 해당된다면 게시된 앱이 영향을 받고 있는 것입니다.
  • 데이터베이스 업그레이드 후 게시된 앱에서 데이터베이스 연결 오류가 표시됨
  • 앱이 2026년 1월 9일 이전에 데이터베이스가 있던 다른 앱에서 리믹스됨

게시된 앱이 소스 앱의 공유 데이터베이스를 사용하고 있는지 확인하는 방법

1단계: 소스 앱에서 Database 패널 열기

DATABASE_URL을 보여주는 Secret 패널
NEON_DATABASE_URL에서 값을 가져오거나, NEON_DATABASE_URL이 없다면 DATABASE_URL에서 가져오세요.
영향을 받는 모든 앱에 NEON_DATABASE_URL이 있는 것은 아닙니다. 이 값이 없다면, 대개 게시된 앱의 Secrets에서 현재 DATABASE_URL이 여전히 neon.tech를 가리키고 있는지 확인해야 한다는 의미입니다.

2단계: 게시된 앱에서 Publish 패널 열기

DATABASE_URL을 보여주는 게시된 앱 시크릿
게시된 앱의 데이터베이스 URL을 확인하려면:
  1. Replit에서 앱을 여세요
  2. Publishing 패널을 여세요
  3. Adjust Settings를 여세요
  4. Secrets를 여세요
  5. DATABASE_URL을 찾으세요

3단계: 1단계의 소스 앱 데이터베이스 URL과 2단계의 리믹스 앱을 비교하기

두 URL이 같다면, 게시된 앱은 소스 앱의 공유 Neon 개발 데이터베이스를 사용하고 있는 것입니다.

소스 앱에서 게시된 앱으로 데이터를 복사하는 방법

게시된 앱이 소스 앱의 공유 개발 데이터베이스를 사용하고 있음을 확인한 후, 다음 단계는 필요한 데이터를 게시된 앱으로 전송하는 것입니다. 고려해야 할 두 가지 시나리오가 있습니다.
  • 경우 1: 게시된 앱의 Database 패널에 이미 필요한 데이터가 있습니다.
  • 경우 2: 게시된 앱의 Database 패널에 필요한 데이터가 없습니다.

경우 1: Database 패널에 이미 필요한 데이터가 표시됨

필요한 데이터가 앱의 Database 패널에서 이미 보인다면 가장 쉬운 방법입니다.

1단계: 데이터가 있는지 확인하기

my data 행을 보여주는 데이터베이스 패널
게시된 앱에서 Database 패널을 열고 필요한 테이블과 데이터가 있는지 확인하세요. Database 패널에서 필요한 데이터가 보이지 않는다면 여기서 멈추세요. 데이터를 올바르게 마이그레이션하려면 경우 2의 단계를 따라야 합니다.

2단계: 프로덕션 데이터베이스와 함께 게시 또는 재게시하기

  1. Project Editor에서 앱을 여세요
  2. Publish 또는 Republish를 선택하세요
  3. Create production database를 켜세요
  4. Set up your production database with your current development data를 켜세요
  5. 게시 절차를 완료하세요
게시하면 게시된 앱의 새 버전이 생성되고, DATABASE_URL이 새 프로덕션 데이터베이스로 자동 설정됩니다. 이 과정에서 해당 시크릿을 수동으로 업데이트할 필요는 없습니다.
Create production database 옵션을 보여주는 게시 설정
프로덕션으로 복사하면 기존 프로덕션 데이터가 덮어씌워집니다. 프로덕션 데이터베이스를 복원하거나 관리하는 방법에 대한 자세한 내용은 프로덕션 데이터베이스를 참고하세요.

3단계: 게시된 앱 확인하기

게시된 앱을 열고 데이터에 접근할 수 있는지, 앱이 올바르게 작동하는지 확인하세요.

경우 2: 게시된 앱의 Database 패널에 필요한 데이터가 표시되지 않음

게시된 앱의 Database 패널에서 필요한 데이터가 보이지 않는다면 다음 단계를 따라 데이터를 내보내세요. 게시된 앱이 여전히 다른 앱의 데이터베이스에 연결되어 있다면, Database 패널에 “external database detected” 경고가 표시됩니다.
external database detected를 보여주는 데이터베이스 패널
사람들이 여전히 앱을 사용하며 새 데이터를 저장하고 있다면, 데이터를 내보내기 전에 짧은 유지보수 시간을 계획하세요.

1단계: 이전 데이터베이스에서 데이터 내보내기

pg_dump 예시
Project Editor에서 Shell을 열고 다음을 실행하세요.
database_url1단계: 소스 앱에서 Database 패널 열기에서 얻은 데이터베이스 URL입니다.

2단계: 앱의 Secrets에서 이전 DATABASE_URL 제거하기

secret 패널 예시
  1. Project Editor에서 Secrets 도구를 여세요
  2. 이전 DATABASE_URL을 찾으세요
  3. 삭제하세요
  4. 페이지를 새로고침하거나 Database 패널을 다시 여세요
이 작업 후, 앱은 이전 공유 데이터베이스를 가리키지 않고 현재 개발 데이터베이스를 다시 사용하게 됩니다.

3단계: 앱의 현재 개발 데이터베이스로 데이터 가져오기

pg_restore 예시
이전 DATABASE_URL 시크릿을 제거하면, 앱의 현재 개발 데이터베이스가 Project Editor에서 $DATABASE_URL로 다시 사용 가능해집니다. Project Editor의 Shell로 돌아가서 다음을 실행하세요.
이렇게 하면 내보낸 데이터가 앱의 현재 개발 데이터베이스로 로드됩니다.

5단계: 경우 1을 따라 프로덕션 데이터베이스와 함께 게시 또는 재게시하기

Database 패널에 올바른 데이터가 표시되면, 경우 1을 따라 Create production database와 함께 게시 또는 재게시하고 해당 데이터를 프로덕션으로 복사하세요.

6단계: 게시된 앱 확인하기

성공적인 내보내기
게시된 앱을 열고 데이터에 접근할 수 있는지, 앱이 올바르게 작동하는지 확인하세요.

문제 해결

테이블이 이미 존재하여 가져오기가 실패함

위의 pg_restore --clean --if-exists 명령은 복원하기 전에 덤프에서 일치하는 객체를 삭제하고 다시 만듭니다.

role 또는 policy 오류로 가져오기가 실패함

데이터베이스가 커스텀 PostgreSQL 역할이나 역할 기반 정책을 사용한다면, 새 데이터베이스에 아직 해당 역할이 존재하지 않아 가져오기가 실패할 수 있습니다. Replit의 자동 Helium 마이그레이션은 복원 전에 역할 스텁을 재생성하려고 시도하지만, 위의 수동 프로세스는 그렇지 않습니다. pg_restore 중 역할 관련 오류가 발생하면 지원팀에 문의하세요.

이미 앱을 수정했습니다

게시된 앱에 이미 자체 프로덕션 데이터베이스가 있고 올바르게 작동한다면 추가로 할 일이 없습니다.

더 도움이 필요하신가요?

앱에 어떤 경우가 적용되는지 확실하지 않거나 마이그레이션 중에 문제가 발생하면 지원팀에 문의하세요.

관련 문서