Data Transporter

This XrmToolBox tool allows you to transfer the data from one Microsoft Dataverse environment to another for the selected columns and for specific rows based on the filter XML (developed by Bram Colpaert).

💡 New Version

FetchXML support was added to a new version of Data Transporter which allows filtering of the records with the filter conditions from the link entities. This new version has yet to be merged into the main Data Transporter but it can be downloaded from this repo.

It is important to keep the same GUID for some of the reference data in multiple environments (especially those which are referenced in the workflows, business rules, JavaScript, etc.).
To clone the data from tables and N:N association data, you can use this tool to select the table/N:N relationship and specify the column/row filter to transfer the data to the target environment.

Remark: Since the filtering of the rows is done based on the <filter> section of the FetchXML, the filter is limited to the selected table and it cannot be filtered based on the values in the linked tables. File column is not supported at the moment. For image column, only the primary image column can be selected for Create action and non-primary image columns needs to be transferred again with Update action.
  • Tool Information
  • Documentation
  • Blog mention 1, Blog mention 2, Blog Mention 3
  • Functionalities
    • Migrate table data to the target environment (Fig. 1, Pt. 4)
      • Load and refresh the list of tables from the source environment (Fig. 1, Pt. 1)
      • Connect to the target environment (Fig. 1, Pt. 6)
      • Select the table to be migrated (Fig. 1, Pt. 8)
        • Filter the table by display/logical name (Fig. 1, Pt. 7)
      • Select the columns to be migrated (Fig. 1, Pt. 9)
      • Specify the actions to be performed
        • Create if there is no row with the same GUID in the target environment (Fig. 1, Pt. 10)
        • Update if there is an existing row with the same GUID in the target environment (Fig. 1, Pt. 11)
        • Delete if the target environment has a row that does not exist in the source environment (Fig. 1, Pt. 12)
      • Transform the GUID of the source data before migrating to the target environment with GUID mappings (Fig. 1, Pt. 17) (Fig. 5) - This feature is useful when the GUID of the referencing lookup values are different between the source and target environments (e.g. application User, default Team of the Business Unit)
      • Filter the rows to be processed with FetchXML filter (Fig. 1, Pt. 18) (Fig. 6) - Only the <filter> section of the FetchXML is required
      • Preview the list of rows to be processed based on the filter and the action(s) (Fig. 1, Pt. 3) (Fig. 2)
      • Process multiple tables sequentially (Fig. 3, Pt. 2)
        • Process multiple tables sequentially (Fig. 3, Pt. 1)
        • Order the sequence of execution (Fig. 3, Pt. 5)
        • Specify the actions to be performed (Fig. 3, Pt. 6)
        • Save the order of tables and actions as a playlist file (Fig. 3, Pt. 3)
        • Open a playlist file (Fig. 3, Pt. 4)
    • Migrate N:N association data to the target environment (Fig. 4)
      • Load and refresh the list of N:N associations from the source environment (Fig. 1, Pt. 2)
      • Additionally, the tool can
        • Process the rows in bulk (Fig. 1, Pt. 13)
        • Automatically map and replace the GUID with the GUID of the target environment for
          • Root business unit (Fig. 1, Pt. 14)
          • Default transaction currency (Fig. 1, Pt. 15)
          • Users (Fig. 1, Pt. 16)
        • Automatically map and replace the GUID of the default transaction current with the GUID of the root business unit in the target environment (Fig. 1, Pt. 14)
        • Save (Fig. 1, Pt. 19) the Mappings and Filters as .XML file and load it (Fig. 1, Pt. 20) in the next time to use the same Mappings/Filters.
    • Similar Tool

    Fig. 1 - Migrate Table Data

    Fig. 2 - Preview the List of Rows


    Fig. 3 - Playlist

    Fig. 4 - Migrate N:N Association Data


    Fig. 5 - Mapping List


    Fig. 6 - FetchXML Filter

    This is part of the #TooLDR series where I test and review the tools for Power Platform. You can check out the information for the other tools on this page.

    Comments

    1. Hi Linn, I found another blog post on the Data Transporter that would be worth adding if you're happy with it https://blog.crimson.co.uk/reference-data-migration

      ReplyDelete
      Replies
      1. Thanks, I have added that link as Blog Mention 3 😊

        Delete
    2. One limitation that's worth noting is that the filter is limited to the referenced table, so can't included linked tables.

      ReplyDelete
      Replies
      1. That's a good point. I have added that as a Remark. I also needed that feature quite a few times from time to time.

        I will try to implement the feature to allow the whole FetchXML in the filter and create a pull request for that project.

        Delete
      2. Hi Linn, is the ability to filter with linked tables you mentioned now incorporated into Data Transporter, or would I need to download the pre-release version? And what format should the filter with the link be please?
        I'm assuming along the lines of:








        Delete
      3. My FetchXML was was removed in the above. I'm assuming:
        filter
        condition
        link-entity
        filter
        condition
        end filter
        end link-entity
        end filter

        Delete
      4. Sorry, you still need to download the build from my repo since the tool author didn't respond to my email or LinkedIn message to allow merging the Pull Request.
        https://github.com/LinnZawWin/Colso.Xrm.DataTransporter/releases/tag/Latest

        The format is the the whole FetchXML. I'll update it in the release notes.

        Delete
    3. does it support transferring files/image columns?

      ReplyDelete
      Replies
      1. File column is not supported at the moment. For image column, only the primary image column can be selected for Create action and non-primary image columns needs to be transferred again with Update action.

        Delete
    4. When I transfer a mix of Active and Inactive records, it makes all of them Active in the target environment. Is this a bug, or am I doing it wrong? Thank you

      ReplyDelete
      Replies
      1. I guess it is not possible with the current version of the tool since it does not allow to select Status (StateCode) in the available attributes.
        I will try to update it and raise a pull request for the tool.

        Delete
    5. Hi Linn, I hope you're well! Am I correct in understanding that your pull request has now been added? If so, would be worth updating your 'New Version' note at the top.

      ReplyDelete

    Post a Comment

    Popular Posts