Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Si vous ajoutez une table à une solution et exportez la solution, vous exportez la table et toutes les ressources associées dans cette solution. Ces ressources incluent des colonnes (attributs), des formulaires, des vues, des relations et des visualisations, ainsi que toutes les autres ressources empaquetées avec le tableau. L’exportation de tous les objets signifie que vous pouvez modifier involontairement des objets sur le déploiement cible ou entraîner des dépendances non souhaitées.
Pour gérer les dépendances, créez et publiez des correctifs de solution qui contiennent des sous-composants de tables plutôt que de publier la table entière et tous ses composants. Vous pouvez regrouper (fusionner) la solution d’origine et un ou plusieurs correctifs connexes ultérieurement dans une version mise à jour de la solution, qui peut ensuite remplacer la solution d’origine dans l’organisation Microsoft Dataverse cible.
Correctifs
Vous pouvez appliquer des correctifs aux solutions gérées ou non gérées et inclure uniquement les modifications apportées aux tableaux et aux ressources de tableau associées. Les correctifs ne contiennent aucun composant système ni aucune relation non personnalisés dont ils dépendent, car ces composants existent déjà dans l’organisation cible du déploiement. À un certain stade du cycle de développement, vous pouvez regrouper tous les correctifs dans une nouvelle version de la solution pour remplacer la solution d’origine à partir de laquelle les correctifs ont été créés.
La base de données Dataverse stocke les correctifs sous forme d’enregistrements Solution de table. Un attribut ParentSolutionId non nul indique que la solution est un correctif. Vous pouvez créer et gérer des correctifs via le Kit de développement logiciel (SDK) pour .NET ou les API web, qui sont utiles pour développer une automatisation, comme un script d’installation de produit. Toutefois, l’application web Dataverse fournit plusieurs formulaires web qui vous permettent de créer et de gérer de manière interactive des patchs.
- Vous pouvez uniquement créer des correctifs à partir d’une solution parente à l’aide de CloneAsPatchRequest ou de l’action CloneAsPatch.
- Le parent du correctif ne peut pas être un correctif.
- Les patchs ne peuvent posséder qu’une solution parente.
- Un correctif crée une dépendance, au niveau de la solution, à l’égard de sa solution parente.
- Vous ne pouvez installer un correctif que si la solution mère est présente.
- Vous ne pouvez pas installer un correctif à moins que le nom unique et le numéro de version principale ou secondaire de la solution parente, identifiés par
ParentSolutionId, correspondent à ceux de la solution parente installée dans l’organisation cible. - Une version de correctif doit avoir le même numéro de version principale et secondaire que la solution parente, mais un numéro de build et de version supérieur à celui de la solution parente. Le nom d’affichage peut être différent.
- Si une solution contient des correctifs, les correctifs suivants doivent avoir un numéro de version numériquement supérieur à tous les correctifs existants pour cette solution.
- Les correctifs prennent en charge les mêmes opérations que les solutions, comme la mise à jour additive, mais pas la suppression. Vous ne pouvez pas supprimer des composants d’une solution à l’aide d’un correctif. Pour supprimer des composants d’une solution, effectuez une mise à niveau.
- Vous devez importer des correctifs exportés en tant que gérés par-dessus une solution parente managée. La règle est que la protection du patch (géré ou non) doit correspondre à son parent.
- N’utilisez pas les patchs non gérés pour les besoins de production.
Les outils SolutionPackager et PackageDeployer prennent en charge les correctifs de solution. Consultez l’aide en ligne de l’outil pour connaître toutes les options de ligne de commande associées aux correctifs.
Créer un correctif
Créez un correctif à partir d’une solution non gérée dans un environnement en utilisant le message CloneAsPatchRequest ou l’action CloneAsPatch, ou encore via l’application web. Lorsque vous créez le correctif, vous verrouillez la solution d’origine et ne pouvez pas la modifier ni l’exporter tant que des correctifs dépendants existent dans l’environnement qui identifient la solution comme solution parente. La version du correctif est similaire à la version de la solution et est spécifiée au format suivant : majeure.mineure.build.release. Vous ne pouvez pas modifier les versions principales ou mineures existantes de la solution lorsque vous créez un correctif.
Exporter et importer un patch
Utilisez le SDK pour .Net ou les API web, l’application web ou l’outil Package Deployer pour exporter et importer un correctif. Les classes de requêtes pertinentes de SDK pour .NET sont ImportSolutionRequest et ExportSolutionRequest. Les actions pertinentes pour l’API web sont ImportSolution Action et ExportSolution Action.
Exemples de correctifs
Le tableau suivant répertorie les détails d’un exemple de correctif. Dans cet exemple, vous importez la solution et les correctifs dans l’ordre numérique, et ceux-ci sont cumulatifs, ce qui est cohérent avec l’importation de solutions en général.
| Nom du correctif | Description |
|---|---|
SolutionA, version 1.0 (non gérée) |
Contient entityA avec six champs. |
SolutionA, version 1.0.1.0 (non managée) |
Contient entityA avec six champs (trois mis à jour) et ajoute entityB avec 10 champs. |
SolutionA, version 1.0.2.0 (non géré) |
Contient entityC avec 10 champs. |
Le processus d’importation se présente comme suit :
- Le développeur ou le personnalisateur importe d’abord la solution de base (
SolutionA1.0) dans l’environnement. Le résultat estentityAavec six champs dans l’environnement. - Ensuite, importez le
SolutionAcorrectif 1.0.1.0. L’environnement contient désormaisentityAavec six champs (trois mis à jour), ainsi queentityBavec 10 champs. - Enfin, importez le
SolutionAcorrectif 1.0.2.0. L’environnement contient maintenantentityAavec six champs (trois mis à jour), plusentityBavec 10 champs, plusentityCavec 10 champs.
Autre exemple de correction
Examinons un autre exemple de mise à jour corrective. Le tableau suivant répertorie les détails.
| Nom du correctif | Description |
|---|---|
SolutionA, version 1.0 (non gérée, solution de base) |
Contient la table Account dont la longueur de la colonne du numéro de compte est ajustée de 20 à 30 caractères. |
SolutionB, version 2.0 (non gérée, fournisseur différent) |
Contient la table Account dont la longueur de la colonne du numéro de compte est ajustée à 50 caractères. |
SolutionA, version 1.0.1.0 (non managée, correctif) |
Contient une mise à jour de la table Account dont la longueur de la colonne du numéro de compte est ajustée à 35 caractères. |
Le processus d’importation se présente comme suit :
- Le développeur ou le personnalisateur importe d’abord la solution de base (
SolutionA1.0) dans l’environnement. Le résultat est une tableAccountavec une colonne de numéro de compte de 30 caractères. - Importer
SolutionB. L’environnement contient maintenant une tableAccountavec une colonne de numéro de compte de 50 caractères. - Importez
SolutionAle correctif 1.0.1.0. L’environnement contient toujours une tableAccountavec une colonne de numéro de compte de 50 caractères, tel qu’appliquée parSolutionB. - Désinstallez
SolutionB. L’environnement contient maintenant une tableAccountavec une colonne de numéro de compte de 35 caractères, tel qu’appliquée par le correctif 1.0.1.0 deSolutionA.
Supprimer un correctif
Vous pouvez supprimer un correctif ou une solution de base (parente) à l’aide du message DeleteRequest ou, pour l’API web, à l’aide de la méthode HTTP DELETE. Le processus de suppression est différent pour une solution gérée ou non gérée contenant un ou plusieurs correctifs existant dans l’environnement.
Pour une solution non gérée, vous devez d’abord désinstaller tous les correctifs de la solution de base, dans l’ordre de version inverse de leur création, avant de désinstaller la solution de base.
Pour une solution gérée, vous désinstallez simplement la solution de base. Le système Dataverse désinstalle automatiquement les correctifs dans l’ordre de version inverse avant de désinstaller la solution de base. Vous pouvez également désinstaller un seul correctif.
Mettre à jour une solution
La mise à jour d’une solution implique la fusion de tous les correctifs de cette solution dans une nouvelle version de la solution. Ensuite, cette solution est débloquée et peut être modifiée à nouveau (solution non gérée uniquement) ou exportée. Pour une solution gérée, aucune modification supplémentaire de la solution n’est autorisée, sauf pour créer des correctifs à partir de la solution nouvellement mise à jour. Pour cumuler des correctifs dans une solution non managée, utilisez CloneAsSolutionRequest ou l’action CloneAsSolution. Le clonage d’une solution crée une nouvelle version de la solution non gérée, en incorporant tous ses correctifs, avec un numéro de version major.minor supérieur, le même nom unique et un nom d’affichage.
Pour une solution managée, les choses sont gérées légèrement différemment. Vous clonez d’abord la solution non gérée (A), incorporant tous ses correctifs, puis exportez-la en tant que solution gérée (B). Dans l’organisation cible contenant la version gérée de la solution (A) et ses correctifs, vous importez une solution gérée (B), puis exécutez le message DeleteAndPromoteRequest ou l’action DeleteAndPromote pour remplacer la solution gérée (A) et ses correctifs par la solution gérée mise à niveau (B) dont le numéro de version est supérieur.