Passer au contenu principal

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.

Certaines applications publiées plus anciennes peuvent encore être connectées à une base de données de développement qui a été créée à l’origine pour une application différente. Cela peut arriver avec des applications plus anciennes qui ont été forkées ou remixées sur Replit. Avec l’ancienne configuration Neon, un fork pouvait continuer à utiliser la connexion à la base de données de l’application d’origine. Dans le cadre du passage de Replit à l’isolation complète des bases de données de développement et de production, les anciennes bases de données de développement partagées sont supprimées et les applications publiées doivent migrer vers leurs propres bases de données de production. Utilisez ce guide si votre application publiée affiche des erreurs de connexion à la base de données, ou si DATABASE_URL dans le panneau Secrets pointe toujours vers neon.tech.
L’ancienne base de données partagée sera arrêtée le 1er juin 2026. Mettez à jour votre application publiée avant cette date pour éviter les temps d’arrêt ou la perte définitive de données.

Avant de commencer

Votre application publiée a besoin de sa propre base de données de production. La base de données de développement affichée dans le panneau Database ne doit pas être utilisée directement par les applications publiées.
Panneau Database affichant la base de données de développement
Pour résoudre ce problème, commencez par déterminer dans quelle situation vous vous trouvez :
  • Cas 1 : Les données souhaitées sont déjà présentes dans la base de données affichée dans le panneau Database de votre application.
  • Cas 2 : Le panneau Database n’affiche pas les données dont vous avez besoin, car votre application publiée utilise encore l’ancienne base de données de développement partagée.

Comment savoir si votre application publiée utilise une base de données partagée ?

Votre application publiée est concernée si l’une des conditions suivantes est vraie :
  • Votre application publiée affiche des erreurs de connexion à la base de données après la mise à niveau de la base de données
  • Votre application a été remixée depuis une autre application qui avait une base de données avant le 9 janvier 2026

Comment vérifier si votre application publiée utilise la base de données partagée de l’application source ?

Étape 1 : Ouvrez le panneau Database dans l’application source

Panneau Secrets affichant DATABASE_URL
Obtenez la valeur depuis NEON_DATABASE_URL ou depuis DATABASE_URL si NEON_DATABASE_URL n’existe pas.
Toutes les applications concernées n’auront pas forcément NEON_DATABASE_URL. Si elle est absente, cela signifie généralement que vous devez utiliser le DATABASE_URL actuel depuis les Secrets de l’application publiée s’il pointe toujours vers neon.tech.

Étape 2 : Ouvrez le panneau Publish dans l’application publiée

Secrets de l'application publiée affichant DATABASE_URL
Pour vérifier l’URL de la base de données de votre application publiée :
  1. Ouvrez votre application dans Replit
  2. Ouvrez le panneau Publishing
  3. Ouvrez Adjust Settings
  4. Ouvrez Secrets
  5. Recherchez DATABASE_URL

Étape 3 : Comparez l’URL de la base de données de l’application source à l’étape 1 et de l’application remixée à l’étape 2

Si elles sont identiques, votre application publiée utilise une base de données de développement Neon partagée depuis l’application source.

Comment copier les données de l’application source vers l’application publiée ?

Après avoir confirmé que votre application publiée utilise la base de données de développement partagée de l’application source, l’étape suivante consiste à transférer les données nécessaires vers l’application publiée. Deux scénarios sont à considérer :
  • Cas 1 : Le panneau Database de l’application publiée contient déjà les données requises.
  • Cas 2 : Le panneau Database de l’application publiée ne contient pas les données requises.

Cas 1 : Le panneau Database affiche déjà les données dont vous avez besoin

C’est le chemin le plus simple si les données dont vous avez besoin sont déjà visibles dans le panneau Database de votre application.

Étape 1 : Confirmez que les données sont présentes

Base de données affichant les lignes de données
Ouvrez le panneau Database dans l’application publiée et assurez-vous que les tables et les données dont vous avez besoin sont bien présentes. Si vous ne voyez pas les données dont vous avez besoin dans le panneau Database, faites une pause ici. Vous devrez suivre les étapes du Cas 2 pour migrer vos données correctement.

Étape 2 : Publiez ou republiez avec une base de données de production

  1. Ouvrez votre application dans l’éditeur de projet
  2. Sélectionnez Publish ou Republish
  3. Activez Create production database
  4. Activez Set up your production database with your current development data
  5. Finalisez le flux de publication
La publication crée une nouvelle version de votre application publiée et définit automatiquement son DATABASE_URL sur la nouvelle base de données de production. Vous n’avez pas besoin de mettre à jour ce secret manuellement pendant ce flux.
Paramètres de publication affichant les options Create production database
La copie vers la production écrase toutes les données de production existantes. Consultez la documentation Bases de données de production pour plus de détails sur la restauration ou la gestion de votre base de données de production.

Étape 3 : Vérifiez l’application publiée

Ouvrez votre application publiée et confirmez que vos données sont accessibles et que l’application fonctionne correctement.

Cas 2 : Le panneau Database de l’application publiée n’affiche pas les données dont vous avez besoin

Suivez ces étapes pour exporter les données si vous ne voyez pas les données nécessaires dans le panneau Database de votre application publiée. Si votre application publiée est encore connectée à une base de données d’une autre application, vous verrez un avertissement « external database detected » dans le panneau Database.
Panneau Database affichant external database detected
Si des utilisateurs utilisent encore votre application et enregistrent de nouvelles données, planifiez une courte fenêtre de maintenance avant d’exporter les données.

Étape 1 : Exportez les données depuis l’ancienne base de données

Exemple de pg_dump
Ouvrez le Shell dans l’éditeur de projet et exécutez :
pg_dump -Fc "database_url" --no-owner --no-privileges -f backup.dump
database_url est l’URL de la base de données obtenue à l’Étape 1 : Ouvrez le panneau Database dans l’application source.

Étape 2 : Supprimez l’ancien DATABASE_URL des Secrets de votre application

Exemple de panneau des secrets
  1. Ouvrez l’outil Secrets dans l’éditeur de projet
  2. Trouvez l’ancien DATABASE_URL
  3. Supprimez-le
  4. Actualisez la page ou rouvrez le panneau Database
Après cela, votre application devrait cesser de pointer vers l’ancienne base de données partagée et utiliser à nouveau sa base de données de développement actuelle.

Étape 3 : Importez les données dans la base de données de développement actuelle de votre application

Exemple de pg_restore
Une fois le secret DATABASE_URL ancien supprimé, la base de données de développement actuelle de votre application devrait être à nouveau disponible en tant que $DATABASE_URL dans l’éditeur de projet. Retournez au Shell dans l’éditeur de projet et exécutez :
pg_restore --clean --if-exists --single-transaction --no-owner --no-privileges --exit-on-error -d "$DATABASE_URL" backup.dump
Cela charge les données exportées dans la base de données de développement actuelle de votre application.

Étape 5 : Suivez le Cas 1 pour publier ou republier avec une base de données de production

Une fois que le panneau Database affiche les données correctes, suivez le Cas 1 pour publier ou republier avec Create production database et copier ces données en production.

Étape 6 : Vérifiez l’application publiée

Export réussi
Ouvrez votre application publiée et confirmez que vos données sont accessibles et que l’application fonctionne correctement.

Résolution des problèmes

L’import échoue parce que les tables existent déjà

La commande pg_restore --clean --if-exists ci-dessus supprime et recrée les objets correspondants du dump avant de les restaurer.

L’import échoue avec des erreurs de rôle ou de politique

Si votre base de données utilise des rôles PostgreSQL personnalisés ou des politiques basées sur des rôles, l’import peut échouer parce que ces rôles n’existent pas encore dans la nouvelle base de données. La migration automatique Helium de Replit tente de recréer des stubs de rôles avant la restauration, mais le processus manuel ci-dessus ne le fait pas. Si vous rencontrez des erreurs liées aux rôles lors de pg_restore, contactez le support pour obtenir de l’aide.

J’ai déjà corrigé l’application

Si votre application publiée a déjà sa propre base de données de production et fonctionne correctement, vous n’avez rien d’autre à faire.

Besoin d’aide supplémentaire ?

Si vous n’êtes pas sûr du cas qui s’applique à votre application, ou si vous rencontrez des problèmes pendant la migration, contactez le support.

Documentation connexe