Opprett oppdateringer for å forenkle løsningsoppdateringer
Hvis du legger til en tabell i en løsning og eksporterer løsningen, vil tabellen og alle de relaterte aktivaene bli eksportert til løsningen. Disse aktivaene inkluderer kolonner (attributter), skjemaer, visninger, relasjoner og visualiseringer, og andre aktiva som pakkes med tabellen. Eksport av alle objektene betyr at du utilsiktet endrer objekter i måldistribusjonen, eller at du overfører utilsiktede avhengigheter.
Du kan håndtere avhengigheter ved å opprette og publisere løsningsoppdateringer som inneholder delkomponenter for tabeller, i stedet for å publisere hele tabellen og alle tilhørende aktiva. Den opprinnelige løsningen og én eller flere relaterte oppdateringer kan akkumuleres (flettes) senere i en oppdatert versjon av løsningen, som deretter kan erstatte den opprinnelige løsningen i Microsoft Dataverse-målorganisasjonen.
Oppdateringer
Du kan bruke oppdateringer på enten administrerte eller uadministrerte løsninger og bare inkludere endringer for tabeller og relaterte tabellressurser. Oppdateringer inneholder ikke ikke-tilpassede systemkomponenter eller relasjoner som de er avhengige av, fordi disse komponentene allerede finnes i organisasjonen det distribueres til. I løpet av utviklingssyklusen kan du samle alle oppdateringene i en ny løsningsversjon for å erstatte den opprinnelige løsningen som oppdateringene ble opprettet fra.
Oppdateringer lagres i Dataverse-databasen som Solution
-tabelloppføringer. Et ParentSolutionId
-attributt uten nullverdi angir at løsningen er en oppdatering. Oppdateringer kan opprettes og administreres via SDK for .NET eller nett-API-ene, som er nyttig for å utvikle automatisering, for eksempel et produktinstallasjonsskript. Dataverse-webprogrammet inneholder imidlertid forskjellige webskjemaer som gjør det mulig å opprette og administrere oppdateringer interaktivt.
- Oppdateringer kan bare opprettes fra en overordnet løsning ved hjelp av CloneAsPatchRequest eller CloneAsPatch-handlingen.
- Det overordnede elementet for oppdateringen kan ikke være en oppdatering.
- Oppdateringer kan bare ha én overordnet løsning.
- En oppdatering oppretter en avhengighet, på løsningsnivået, på den overordnede løsningen.
- Du kan bare installere en oppdatering hvis den overordnede løsningen finnes.
- Du kan ikke installere en oppdatering med mindre det unike navnet og versjonnummeret for hovedversjonen eller den underordnede versjonen for den overordnede løsningen, som identifisert av
ParentSolutionId
, ikke samsvarer med den overordnede løsningen som er installert i målorganisasjonen. - En oppdateringsversjon må ha samme nummer for hovedversjon og underordnet versjon, men et høyere build- og utgivelsesnummer, enn versjonsnummeret for den overordnede løsningen. Visningsnavnet kan være ulikt.
- Hvis en løsning har oppdateringer, må påfølgende oppdateringer ha et numerisk høyere versjonsnummer enn eventuelle eksisterende oppdateringer for den løsningen.
- Oppdateringer støtter de samme operasjonene som løsninger, for eksempel å additiv oppdatering, men ikke fjerning. Du kan ikke fjerne komponenter fra en løsning ved å bruke en oppdatering. Hvis du vil fjerne komponenter fra en løsning, utfører du en oppgradering.
- Oppdateringer som er eksportert som behandlet, må importeres oppå en administrert overordnet løsning. Regelen er at oppdateringsbeskyttelse (administrert eller uadministrert) må samsvare med det overordnede elementet.
- Ikke bruk uadministrerte oppdateringer til produksjonsformål.
SolutionPackager- og PackageDeployer-verktøyene støtter løsningsoppdateringer. Se i den elektroniske hjelpen for verktøyet etter eventuelle kommandolinjealternativer som er relatert til oppdateringer.
Opprette en oppdatering
Opprett en oppdatering fra en uadministrert løsning i et miljø ved å bruke CloneAsPatchRequest-meldingen eller CloneAsPatch-handlingen, eller ved å bruke nettprogrammet. Når du oppretter oppdateringen, låses den opprinnelige løsningen, og du kan ikke endre eller eksportere den så lenge det finnes avhengige oppdateringer i miljøet som identifiserer løsningen som den overordnede løsningen. Oppdateringsversjonskontroll ligner på løsningsversjonskontroll og er angitt i følgende format: hoved.underordnet.build.versjon. Du kan ikke gjøre endringer i eksisterende hovedløsningsversjoner eller underordnede løsningsversjoner når du oppretter en oppdatering.
Eksportere og importere en løsning
Bruk SDK for .NET eller nett-API-ene, webprogrammet eller Package Deployer-verktøyet til å eksportere og importere en oppdatering. Den relevante SDK-en for .NET-forespørselsklasser er ImportSolutionRequest og ExportSolutionRequest. De relevante handlingene for web-API-en er ImportSolution-handlingen og ExportSolution-handlingen .
Oppdateringseksempler
Følgende tabell viser detaljene for et oppdateringseksempel. I dette eksemplet importeres løsningen og oppdateringene i numerisk rekkefølge, og de kan legges til slik at den samsvarer med løsningsimporten generelt.
Navn på oppdatering | Description |
---|---|
SolutionA , versjon 1.0 (uadministrert) |
Inneholder entityA med seks felter. |
SolutionA , versjon 1.0.1.0 (uadministrert) |
Inneholder entityA med seks felter (tre oppdatert), og legger til entityB med 10 felter. |
SolutionA , versjon 1.0.2.0 (uadministrert) |
Inneholder entityC med 10 felter. |
Importprosessen er som følger.
- Utvikleren eller tilpasseren importerer først basisløsningen (
SolutionA
1.0) i miljøet. Resultatet erentityA
med seks felter i miljøet. - Deretter importeres
SolutionA
-oppdatering 1.0.1.0. Miljøet inneholder nåentityA
med seks felter (tre er oppdatert), plussentityB
med 10 felter. - Til slutt importeres
SolutionA
-oppdatering 1.0.2.0. Miljøet inneholder nåentityA
med seks felter (tre oppdatert),entityB
med 10 felter plussentityC
med 10 felter.
Et annet oppdateringseksempel
La oss ta en titt på et annet eksempel på en oppdatering, med detaljene oppført i tabellen nedenfor.
Navn på oppdatering | Description |
---|---|
SolutionA , versjon 1.0 (uadministrert, basisløsning) |
Inneholder Account -tabellen der lengden på kontonummerkolonnen er justert fra 20 til 30 tegn. |
SolutionB , versjon 2.0 (uadministrert, annen leverandør) |
Inneholder Account -tabellen, der lengden på kolonnen for nummeret for forretningsforbindelsen er justert til 50 tegn. |
SolutionA , versjon 1.0.1.0 (uadministrert, oppdatering) |
Inneholder en oppdatering til Account -tabellen, der lengden på kolonnen for nummeret for forretningsforbindelsen er justert til 35 tegn. |
Importprosessen er som følger:
- Utvikleren eller tilpasseren importerer først basisløsningen (
SolutionA
1.0) i miljøet. Resultatet er enAccount
-tabell med en kolonne for nummer for forretningsforbindelse på 30 tegn. -
SolutionB
importeres. Miljøet inneholder nå enAccount
-tabell med et kolonne for nummer for forretningsforbindelse på 50 tegn. -
SolutionA
-oppdatering 1.0.1.0 importeres. Miljøet inneholder fremdeles enAccount
-tabell med en kolonne for nummer for forretningsforbindelse på 50 tegn, som brukt avSolutionB
. -
SolutionB
avinstalleres. Miljøet inneholder nå enAccount
-tabell med en kolonne for nummer for forretningsforbindelse på 35 tegn, som brukt avSolutionA
1.0.1.0-oppdateringen.
Slette en oppdatering
Du kan slette en oppdaterings- eller basisløsning (overordnet) ved hjelp av DeleteRequest eller, for Web-APIen, ved å bruke HTTP DELETE
-metoden. Sletteprosessen er forskjellig for en administrert eller uadministrert løsning som har én eller flere eksisterende oppdateringer i miljøet.
For en uadministrert løsning må du avinstallere alle oppdateringer i basisløsningen først, i motsatt versjonsrekkefølge som de ble opprettet i, før du avinstallerer basisløsningen.
For en administrert løsning avinstallerer du bare basisløsningen. Dataverse-systemet avinstallerer automatisk oppdateringene i motsatt versjonsrekkefølge før du avinstallerer basisløsningen. Du kan også bare avinstallere én enkelt oppdatering.
Oppdater en løsning
Oppdatering av en løsning innebærer å akkumulere (slå sammen) alle oppdateringer til løsningen i en ny versjon av løsningen. Etterpå blir løsningen ulåst og kan nok en gang endres (uadministrert løsning) eller eksporteres. Hvis du har en administrert løsning, er det ikke tillatt med flere endringer av løsningen, bortsett fra når du oppretter oppdateringer fra den nylig oppdaterte løsningen. For å samle oppdateringer i en uadministrert løsning, bruker du CloneAsSolutionRequest eller CloneAsSolution-handlingen. Når du kloner en løsning, opprettes en ny versjon av den uadministrerte løsningen, noe som inkluderer alle oppdateringene, med et høyere hoved.underordnet-versjonsnummer, samme unike navn og et visningsnavn.
For en administrert løsning ting håndteres litt annerledes. Du kloner først den uadministrerte løsningen (A), og innlemmer alle oppdateringene, og eksporterer den deretter som en administrert løsning (B). I målorganisasjonen som inneholder den administrerte versjonen av (A)-løsningen og tilhørende oppdateringer, importerer du den administrerte løsningen (B) og deretter kjører DeleteAndPromoteRequest eller DeleteAndPromote-handlingen for å erstatte den administrerte løsningen (A) og de tilhørende oppdateringene med den oppgraderte administrerte løsning (B) som har et høyere versjonsnummer.