Seedgegevens met een oplossing meeleveren
Doel
Laat de rijen die een oplossing nodig heeft — referentiegegevens, configuratierijen, een voorbeeldset — meereizen in het oplossingspakket, zodat een lege omgeving na het importeren klaar is voor gebruik in plaats van klaar om te worden gevuld.
Vereisten
- Je bent aangemeld met een makerrol (of de rol van platformbeheerder).
- De tabel waarvan de rijen moeten meereizen, is een component van de oplossing, en de rijen bestaan in de omgeving waaruit je exporteert.
Stappen
- Open de tabel in Tabellen en ga naar het tabblad Weergaven.
- Selecteer Nieuw om de weergavedesigner te openen.
- Voer een weergavenaam in — bijvoorbeeld
Thresholds that ship— en een logische naam na het voorvoegsel van de uitgever, bijvoorbeeldapproval_threshold_seed. - Zet Weergavetype op Seedgegevens, en kies bij De rijen zijn wat de rijen zijn:
- Configuratie: rijen die de oplossing nodig heeft om te werken, zoals goedkeuringsgrenzen of een lijst met regio's. Elke import brengt ze mee, ook naar Productie.
- Demonstratie: rijen die de oplossing laten zien, zoals verzonnen klanten. Een import brengt ze alleen mee als daarom wordt gevraagd, en nooit naar Productie.
- Sleep elk veld dat moet meereizen naar de kop van het raster. Laat weg wat van deze omgeving is en niet van de rij — een vastgelegd bedrag, een datum van de laatste uitvoering, een teller.
- Voeg een filter toe als maar een deel van de rijen moet meereizen — bijvoorbeeld Status is gelijk aan Actief. Zonder filter reist elke rij mee.
- Selecteer Opslaan.
- Exporteer de oplossing vanaf de pagina Oplossingen. Het pakket bevat nu één seedgegevensdocument voor de tabel, met de rijen die de weergave teruggaf.
- Importeer het pakket in een andere omgeving. Configuratierijen komen mee. Bevat het demonstratierijen, dan vraagt de import het eerst: vink Demonstratiegegevens opnemen aan om ze mee te nemen. Als de import klaar is, zegt een bericht hoeveel rijen zijn gemaakt en hoeveel zijn bijgewerkt, noemt het de rijen die zijn overgeslagen, en zegt het hoeveel demonstratierijen zijn weggelaten.
Configuratie komt altijd mee; demonstratie alleen op verzoek
De keuze De rijen zijn op de weergave voor seedgegevens bepaalt wat een import met de rijen doet.
| Configuratie | Demonstratie | |
|---|---|---|
| Is | wat de oplossing nodig heeft om te werken: grenzen, regio's, instellingen die een script leest | wat haar laat zien: verzonnen klanten, een jaar aan voorbeeldgeschiedenis |
| Een import | brengt het altijd mee | brengt het alleen mee als Demonstratiegegevens opnemen is aangevinkt |
| Productie | ja | nooit: het vakje is uitgeschakeld, en het platform weigert het |
Demonstratie komt nooit in Productie terecht, omdat daar geïmporteerde rijen tussen de eigen rijen van je klanten zouden staan zonder dat iets ze van elkaar onderscheidt, en de installatie van de oplossing ongedaan maken zou ze niet verwijderen. Configuratie komt er altijd, omdat een omgeving zonder configuratie niet werkt.
Kies Configuratie alleen voor rijen die overal waar de oplossing draait hetzelfde zijn. Een rij die een omgeving zelf bewerkt, wordt bij de volgende import overschreven.
Wat er achter de schermen gebeurt
Een weergave voor seedgegevens wordt aan niemand getoond: het is een vraag die de export stelt. Het filter beantwoordt welke rijen, de kolommen beantwoorden welke velden. Een tabel met meerdere van zulke weergaven gebruikt de weergave die als standaard is gemarkeerd, en anders de eerste op logische naam.
Elke rij reist mee met zijn id, en de import voegt in of werkt bij op basis van die id: een rij die het doel niet heeft, wordt met dezelfde id gemaakt; een rij die het al heeft, wordt alleen voor de verpakte kolommen bijgewerkt en houdt elke andere waarde. Er wordt nooit iets verwijderd. Omdat de id in elke omgeving dezelfde is, kan de ene seedrij naar een andere wijzen — een budgetregel naar zijn programma — en de import schrijft de tabellen in de juiste volgorde om dat te laten werken. Een zoekveld naar een rij van dezelfde tabel wordt ingevuld nadat alle rijen bestaan.
Elke rij gaat door het gewone schrijfpad voor records: hij wordt gevalideerd tegen de tabel, toegeschreven aan de import, gecontroleerd tegen de zoekvelden van het doel, en plug-instappen op de tabel worden erop uitgevoerd — ook een stap die dezelfde oplossing heeft meegebracht.
Wat een seedrij niet doet, is een bedrijfsproces starten. Een proces dat start wanneer een record wordt gemaakt, gaat over iemand die er een maakt; een seedrij is het beeld dat de oplossing heeft van een tabel zoals die is achtergelaten — een aanvraag die al is goedgekeurd, een die al is afgewezen. Het proces voor elke verpakte rij starten zou per rij een uitvoering starten en de eerste stap van het proces de status laten overschrijven waarmee de rij werd meegeleverd. Dat betekent ook dat een rij die met een wachtende status is geseed, geen taak achter zich heeft: een pakket bevat rijen, geen uitvoeringen. Heeft de demonstratie een live taak nodig, maak dan een record aan in de geïmporteerde omgeving — dat wordt wel gerouteerd.
Een rij die het doel weigert — meestal een zoekveld naar een record dat het doel niet heeft — wordt overgeslagen en genoemd, met tabel, id en reden, in plaats van de import te laten mislukken. De tabellen, formulieren en weergaven zijn dan al geland, en een import die op één rij zou mislukken, zou de omgeving half geïmporteerd achterlaten.
Sommige dingen reizen bewust niet mee: de eigenaar (gebruikers zijn per tenant), de aanmaak- en wijzigingsstempels en de rijversie (die zijn van het doel), en kolommen van het type Bestand en Afbeelding (hun bytes staan in de bronomgeving). Kolommen met automatische nummering worden door het doel gevuld.
Problemen oplossen
- De import zegt dat een rij is overgeslagen. Lees de reden — het is dezelfde zin die een formulier zou tonen. Een zoekveld naar een record dat niet bestaat, betekent dat het doel een rij mist waarvan het pakket uitging; voeg de rijen van die tabel aan het pakket toe, of het record aan het doel.
- Een rij die ik in het doel had bewerkt, is overschreven. Dat doet opnieuw importeren: de verpakte kolommen zijn van de oplossing. Houd omgevingsspecifieke waarden uit de kolommen van de seedweergave.
- De export weigert met "returns N rows". Een pakket bevat maximaal 10.000 rijen per tabel. Beperk het filter van de weergave — seedgegevens zijn referentiegegevens, geen geschiedenis — of laad de rijen in plaats daarvan met een CSV-import.
- Er is niets meegereisd. Controleer of het type van de weergave Seedgegevens is en of hij op een tabel staat die de oplossing bevat. Zijn de rijen Demonstratie, controleer dan of Demonstratiegegevens opnemen bij de import was aangevinkt.
- Het vakje Demonstratiegegevens opnemen is grijs. De omgeving is een productieomgeving, waarin nooit demonstratiegegevens worden geïmporteerd. Configuratierijen komen nog steeds mee.
- Rijen die de oplossing nodig heeft, zijn niet in Productie aangekomen. Hun weergave voor seedgegevens zegt Demonstratie. Zet dat op Configuratie, exporteer de oplossing opnieuw en importeer haar.
- Na het ongedaan maken van de installatie zijn de rijen achtergebleven. Rijen in een tabel die van de oplossing is, verdwijnen met de tabel. Rijen die ze heeft toegevoegd aan een tabel van een andere oplossing blijven, omdat de tabel blijft.