cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Chris1969
Helper II
Helper II

Managing Dataverse Schema Changes

When building a PowerApp which has Dataverse for storage, are there recommended best practices for managing data schema changes (e.g., adding or dropping columns or tables) as new versions / upgrades of the PowerApp get released into AppSource

 

As a reference point, in other environments, one can use something like Liquibase to track, version, and deploy database changes as an application gets upgraded. What should someone do to address this issue with PowerApp / Dataverse ?

 

Thank you for any guidance !

1 ACCEPTED SOLUTION

Accepted Solutions
EricRegnier
Super User
Super User

Hi @Chris1969,

The simplest approach especially if you're new to Dataverse is with solutions. Solutions are used to move changes/configuration/customizations/schema between environments and/or save/backup them. You can save that solution into a repository and  you can even unpack (a bit more advance) the solution to decompose the solution into xml files per component type. You can then commit those files into source control (eg Azure DevOps) to gain all the goodness of versioning and conflict resolution.

More on solutions: https://docs.microsoft.com/powerapps/developer/data-platform/introduction-solutions 

More on unpacking solutions: https://docs.microsoft.com/power-platform/alm/use-source-control-solution-files 

Hope this helps!

 

View solution in original post

4 REPLIES 4
ChrisPiasecki
Super User
Super User

Hi @Chris1969,

 

Dataverse components all have metadata that keeps track of the version it was introduced and its current version. In its raw form (unpacked) it's in either a human readable format such as XML or YAML, which can then be stored in a version control system such as Github or Azure are Repos.

 

If using one of the above tools, there are Microsoft extensions for exporting, Importing, unpacking, packing solutions etc to help manage the lifecycle of your Dataverse and other Power Platform components.

 

Have a look at Power Platform Application Lifecycle Management on Microsoft Docs, it goes into depth on all the platform capabilities and tooling to help with this.

 

https://docs.microsoft.com/en-us/power-platform/alm/basics-alm

 

---
Please click Accept as Solution if my post answered your question. This will help others find solutions to similar questions. If you like my post and/or find it helpful, please consider giving it a Thumbs Up.

EricRegnier
Super User
Super User

Hi @Chris1969,

The simplest approach especially if you're new to Dataverse is with solutions. Solutions are used to move changes/configuration/customizations/schema between environments and/or save/backup them. You can save that solution into a repository and  you can even unpack (a bit more advance) the solution to decompose the solution into xml files per component type. You can then commit those files into source control (eg Azure DevOps) to gain all the goodness of versioning and conflict resolution.

More on solutions: https://docs.microsoft.com/powerapps/developer/data-platform/introduction-solutions 

More on unpacking solutions: https://docs.microsoft.com/power-platform/alm/use-source-control-solution-files 

Hope this helps!

 

View solution in original post

Thank you so much - this is very helpful and exactly what I needed

Thank you! Just what I needed, and I really appreciate your help.

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.

Users online (3,743)