一部の古い発行済みアプリは、元々別のアプリ用に作成された開発データベースに接続されたままの場合があります。 これはReplitでフォークまたはリミックスされた古いアプリで発生する可能性があります。レガシーNeonのセットアップでは、フォークが元のアプリのデータベース接続を引き続き使用できました。Replitが開発データベースと本番データベースを完全に分離する移行の一環として、古い共有開発データベースが削除され、発行済みアプリは独自の本番データベースに移行する必要があります。 発行済みアプリにデータベース接続エラーが表示されている場合、またはSecretsパネルのDocumentation Index
Fetch the complete documentation index at: https://docs.replit.com/llms.txt
Use this file to discover all available pages before exploring further.
DATABASE_URLがまだneon.techを指している場合は、このガイドを使用してください。
開始前に
発行済みアプリには独自の本番データベースが必要です。データベースパネルに表示される開発データベースは、発行済みアプリから直接使用すべきではありません。
- ケース1: 必要なデータが既にアプリのデータベースパネルに表示されている。
- ケース2: 発行済みアプリがまだ古い共有開発データベースを使用しているため、データベースパネルに必要なデータが表示されていない。
発行済みアプリが共有データベースを使用しているかどうかの確認方法
以下のいずれかに該当する場合、発行済みアプリが影響を受けています:- データベースのアップグレード後に発行済みアプリにデータベース接続エラーが表示される
- アプリが2026年1月9日以前にデータベースを持つ別のアプリからリミックスされた
発行済みアプリがソースアプリの共有データベースを使用しているかどうかの確認方法
ステップ1:ソースアプリのデータベースパネルを開く

NEON_DATABASE_URLの値を取得するか、NEON_DATABASE_URLが存在しない場合はDATABASE_URLを使用します。
すべての影響を受けるアプリに
NEON_DATABASE_URLがあるわけではありません。それが見つからない場合は、まだneon.techを指している場合は発行済みアプリのSecretsから現在のDATABASE_URLを使用してください。ステップ2:発行済みアプリのPublishパネルを開く

- ReplitでアプリをAIで開く
- 発行パネルを開く
- 設定を調整を開く
- シークレットを開く
DATABASE_URLを探す
ステップ3:ステップ1のソースアプリとステップ2のリミックスアプリのデータベースURLを比較する
同じ場合、発行済みアプリはソースアプリの共有Neon開発データベースを使用しています。ソースアプリから発行済みアプリにデータをコピーする方法
発行済みアプリがソースアプリの共有開発データベースを使用していることを確認した後、次のステップは必要なデータを発行済みアプリに転送することです。考慮すべき2つのシナリオがあります:- ケース1:発行済みアプリのデータベースパネルに必要なデータが既に含まれている。
- ケース2:発行済みアプリのデータベースパネルに必要なデータが含まれていない。
ケース1:データベースパネルに必要なデータが既に表示されている場合
アプリのデータベースパネルに必要なデータが既に表示されている場合、これが最も簡単な方法です。ステップ1:データが存在することを確認する

ステップ2:本番データベースで発行または再発行する
- プロジェクトエディターでアプリを開く
- 発行または再発行を選択する
- 本番データベースを作成をオンにする
- 現在の開発データで本番データベースをセットアップをオンにする
- 発行フローを完了する
DATABASE_URLが自動的に新しい本番データベースに設定されます。このフロー中にそのシークレットを手動で更新する必要はありません。

ステップ3:発行済みアプリを確認する
発行済みアプリを開いて、データにアクセスできてアプリが正しく動作することを確認します。ケース2:データベースパネルに必要なデータが表示されていない場合
発行済みアプリのデータベースパネルに必要なデータが表示されていない場合は、以下の手順に従ってデータをエクスポートします。 発行済みアプリがまだ別のアプリのデータベースに接続されている場合、データベースパネルに「外部データベースが検出されました」という警告が表示されます。
ステップ1:古いデータベースからデータをエクスポートする

database_urlはステップ1:ソースアプリのデータベースパネルを開くで取得したデータベースURLです。
ステップ2:アプリのSecretsから古いDATABASE_URLを削除する

- プロジェクトエディターでシークレットツールを開く
- 古い
DATABASE_URLを見つける - 削除する
- ページを更新するかデータベースパネルを再度開く
ステップ3:現在の開発データベースにデータをインポートする

DATABASE_URLシークレットが削除されると、アプリの現在の開発データベースがプロジェクトエディターで$DATABASE_URLとして再び利用可能になります。
プロジェクトエディターのシェルに戻り、以下を実行します:
ステップ5:ケース1に従って本番データベースで発行または再発行する
データベースパネルに正しいデータが表示されたら、ケース1に従って本番データベースを作成してそのデータを本番にコピーして発行または再発行します。ステップ6:発行済みアプリを確認する

トラブルシューティング
テーブルが既に存在するためインポートが失敗する
上記のpg_restore --clean --if-existsコマンドは、ダンプから一致するオブジェクトを復元前にドロップして再作成します。
ロールまたはポリシーエラーでインポートが失敗する
データベースがカスタムのPostgreSQLロールまたはロールベースのポリシーを使用している場合、それらのロールが新しいデータベースにまだ存在しないため、インポートが失敗する可能性があります。 Replitの自動Heliumマイグレーションは復元前にロールスタブを再作成しようとしますが、上記の手動プロセスは行いません。pg_restore中にロール関連のエラーが発生した場合は、サポートに問い合わせてください。