Del via


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.

  1. Utvikleren eller tilpasseren importerer først basisløsningen (SolutionA 1.0) i miljøet. Resultatet er entityA med seks felter i miljøet.
  2. Deretter importeres SolutionA-oppdatering 1.0.1.0. Miljøet inneholder nå entityA med seks felter (tre er oppdatert), pluss entityB med 10 felter.
  3. Til slutt importeres SolutionA-oppdatering 1.0.2.0. Miljøet inneholder nå entityA med seks felter (tre oppdatert), entityB med 10 felter pluss entityC 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:

  1. Utvikleren eller tilpasseren importerer først basisløsningen (SolutionA 1.0) i miljøet. Resultatet er en Account-tabell med en kolonne for nummer for forretningsforbindelse på 30 tegn.
  2. SolutionB importeres. Miljøet inneholder nå en Account-tabell med et kolonne for nummer for forretningsforbindelse på 50 tegn.
  3. SolutionA-oppdatering 1.0.1.0 importeres. Miljøet inneholder fremdeles en Account-tabell med en kolonne for nummer for forretningsforbindelse på 50 tegn, som brukt av SolutionB.
  4. SolutionB avinstalleres. Miljøet inneholder nå en Account-tabell med en kolonne for nummer for forretningsforbindelse på 35 tegn, som brukt av SolutionA 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.

Se også

Bruke segmenterte løsninger