Verbindingen zijn hoe applicaties en databases met elkaar kunnen communiceren. Dit kan op twee manieren:

  • Een externe verbinding maakt een (rond)reis over het internet, wat dus veel trager is dan interne communicatie. We raden externe verbindingen aan als je alleen je database bij ons onderbrengt maar niet je front-end.
  • Een interne verbinding blijft binnen ons netwerk en is dus veel sneller en veiliger. We raden deze methode aan als je zowel je front-end als je database host met Applicatie Hosting en Database Hosting.

Externe verbindingen

Opmerking: In de toekomst zullen externe verbindingen standaard uitgeschakeld zijn voor databases, en we raden aan ze uit veiligheidsoverwegingen uit te schakelen als ze niet in gebruik zijn.

Interne verbindingen

Interne verbindingen gebruiken onze interne infrastructuur voor communicatie en zijn dus veel sneller. We raden aan ze te gebruiken waar mogelijk. Zie voor meer details onze gids over het toevoegen van interne verbindingen.

Interne verbindingen en het bouwproces

Interne verbindingen zijn alleen beschikbaar tijdens runtime; ze zijn niet beschikbaar tijdens het bouwproces.

Als je applicatie probeert verbinding te maken met een database met behulp van een interne verbinding tijdens het bouwproces, veroorzaakt dit een fout die zegt dat de database niet draait, waardoor de build mislukt. Dit wordt verwacht omdat de interne verbinding niet live is tijdens het bouwen; deze kan alleen tijdens runtime worden gebruikt.

Er zijn een paar manieren om hier omheen te werken.

Optie 1: Verplaats de logica die verbinding maakt met de database van de bouwopdracht van de applicatie naar de startopdracht. Bijvoorbeeld: als je een commando als prisma migrate in het bouwproces hebt en je verplaatst dat commando naar het startcommando, dan zal je applicatie alleen tijdens runtime toegang hebben tot de database en zal de build succesvol zijn.

Optie 2: Voeg naar behoefte aparte omgevingsvariabelen toe voor de databaseverbinding, de ene beschikbaar voor het bouwproces en de andere alleen voor runtime. De sleutels kunnen hetzelfde zijn (bijvoorbeeld DB_CONNECTION_URL) zolang de ene alleen beschikbaar is tijdens het bouwproces en de andere alleen tijdens runtime. Gebruik de externe verbindingsgegevens van de database (Databases > dbnaam > Info > Externe verbindingen) voor de waarden van variabelen die gebruikt moeten worden tijdens het bouwproces.

Een interne verbinding verwijderen

Als je een verbinding moet verwijderen, ga je naar de pagina Instellingen van de applicatie of de pagina Info van de database. Klik onder Interne verbindingen op het pictogram Verwijderen (prullenbak).

Interne verbindingen tussen databases en applicaties.
Interne verbindingen tussen databases en applicaties.

Klik in het popupvenster Verbinding verwijderen op Verbinding verwijderen om de verbinding tussen de applicatie en de database te bevestigen en te verwijderen.

Het verwijderen van een interne verbinding tussen een applicatie en een database.
Het verwijderen van een interne verbinding tussen een applicatie en een database.