Synchroniseren naar productie

Van test naar een beveiligde, alleen-lezen productie, met controle op de triggers

Werkwijze

In SQLio richt je alles in op de testomgeving: datasets, API's, webhooks en pipelines. Werkt het, dan zet je de configuratie met Omgeving sync over naar Productie. Productie is alleen-lezen: daar wijzig je geen configuratie, zodat wat in productie draait altijd eerst in test heeft gedraaid.

Omdat alles naar connectie-aliassen verwijst en niet naar databases, verandert er bij het overzetten niets aan de configuratie: nl wijst in productie gewoon naar de productiedatabase. Zie Omgevingen & aliassen.

Instructievideo: dataset, API, webhook en pipeline naar productie, alleen-lezen productie en de triggercontrole.

Het synchronisatieoverzicht

Klik in het menu op Omgeving sync. Per soort (datasets, API endpoints, webhooks, data pipelines) zie je alle items met per omgeving de versie, of het item actief is (✓/✗) en wanneer het gewijzigd is. Een oranje uitroepteken betekent dat de versies tussen omgevingen verschillen.

Synchronisatieoverzicht voor het overzetten
Alles staat alleen in Test; Productie is nog leeg.

Stap 1: Items overzetten

  1. Vink de items aan die je wilt overzetten (of gebruik de groene knop in de rij voor één item).
  2. Klik in de kop van de kaart op Synchroniseer.
  3. Kies Van (bijv. Test) en Naar (bijv. Productie).
  4. Controleer de preview en de licentiemelding en klik op Synchroniseren.
Synchronisatiedialoog voor een dataset
De dataset Verkooporders van Test naar Productie.

Wat er per soort gebeurt

Soort Bij synchroniseren
Dataset Layers, velden, condities en de aangevinkte databronnen gaan mee. Verliest een API in het doel daardoor een databron, dan waarschuwt de dialoog vooraf.
API endpoint Endpoint, parameters, paginering en databronnen gaan mee. Synchroniseer eerst de dataset waarop het endpoint draait.
Webhook De webhook houdt zijn vaste sleutel, zodat de trigger in elke omgeving dezelfde naam heeft. Je kiest welk extern endpoint hij in het doel gebruikt. Is de webhook in het doel actief, dan wordt de trigger opnieuw aangemaakt.
Pipeline De stappen worden vervangen; datasets en interne API's die in het doel ontbreken gaan automatisch mee. Per gebruikt extern endpoint kies je het endpoint voor het doel.
Synchronisatiedialoog voor een webhook
Webhook: in productie naar de productieomgeving van de transporteur.
Synchronisatiedialoog voor een pipeline
Pipeline: het externe endpoint per stap kiezen voor productie.
Let op: Een nieuw item komt in het doel inactief binnen; een bestaand item houdt zijn status. Zet na de eerste synchronisatie de API's, webhooks en pipelines in productie zelf aan.
Tip: Heeft een partij aparte test- en productieadressen, maak dan per omgeving een connectie in Externe endpoints (bijv. "Transporteur" en "Transporteur (productie)") en kies bij het synchroniseren de juiste.

In productie tellen actieve API's, webhooks en pipelines mee voor de licentie. De dialoog toont vooraf hoeveel items er bijkomen en blokkeert de synchronisatie als de licentie verlopen is of de limiet overschreden zou worden.

Synchronisatieoverzicht na het overzetten
Na het overzetten: dezelfde versie in beide omgevingen. De nieuwe API's, webhook en pipeline staan in productie nog inactief (✗).

Alleen-lezen productie

Een omgeving waarbij Bewerkbaar uit staat (zie Omgevingen & aliassen) is alleen-lezen. Bovenaan elk scherm staat dan Alleen-lezen modus.

Mag in productie Mag niet in productie
Aan- en uitzetten, uitvoeren (bijv. Nu uitvoeren van een pipeline), testen, logs bekijken, verwijderen (met bevestiging) Nieuw aanmaken, configuratie opslaan, stappen verplaatsen, importeren
Webhookscherm in productie, alleen-lezen
Productie: alleen-lezen modus, geen knop Nieuw.
Webhook in productie geactiveerd
Aanzetten mag wel: de webhook is in productie actief.

Triggercontrole

Webhooks werken met databasetriggers. Met Triggers controleren in de kaart Webhooks vergelijkt SQLio per omgeving de trigger in de database met de webhookinstelling:

Melding Betekenis
trigger ✓ De trigger klopt met de instelling.
⚠ wijkt af De trigger bestaat, maar hoort bij een andere instelling. Herstel hem met de knop ernaast.
✗ ontbreekt De webhook is actief, maar de trigger staat niet in de database (bijv. na het terugzetten van een backup). Herstel hem met de knop ernaast.
⚠ staat er nog De webhook is inactief, maar de trigger staat er nog.
trigger ? De trigger staat er, maar SQLio kan de inhoud niet lezen: de login mist het recht VIEW DEFINITION.
niet te controleren De databron is in deze omgeving niet gekoppeld, of de database is niet bereikbaar.

Onder Losse triggers staan SQLio-triggers die bij geen enkele webhook horen, bijvoorbeeld nadat een productiebackup op de testdatabase is teruggezet. Ze vullen de wachtrij zonder dat iets ze verwerkt; verwijder ze met de knop in de rij.

Resultaat van de triggercontrole
Triggercontrole: de trigger klopt in Test en in Productie, en er zijn geen losse triggers.
Tip: Zet je een productiebackup terug op de testdatabase, controleer dan altijd de triggers. Omdat een webhook in elke omgeving dezelfde vaste sleutel heeft, blijven de triggers daarna gewoon werken.