GithubHelp home page GithubHelp logo

rsousa88 / datamigrationtool Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 7.0 9.46 MB

Plugin for XrmToolBox to migrate data between Dataverse instances

License: MIT License

C# 100.00%
dynamics 365 dataverse data migration tool xrmtoolbox xrm crm

datamigrationtool's Introduction

DataMigrationTool

datamigrationtool's People

Contributors

rsousa-work avatar rsousa88 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

datamigrationtool's Issues

Request to export table columns where IsValidForCreate == false

Hi Rui,

Thank you for creating a data export to JSON plugin for XrmToolBox.
When I export from the Case (incident) table, the list of columns/attributes has "Status Reason" (statuscode), but it does not have "Status" (statecode).
My understanding is this is because column "Status" has IsValidForCreate == false.
Could I please ask the reason DataMigrationTool does not export columns that have IsValidForCreate == false?
Considering that IsValidForUpdate == true, the data should be exportable for future update of the record.
If a person wants to import the data into another system, the "Status" column is obviously very important and should be exportable.

I believe the relevant c# code is in DataMigrationControl.cs (see below).
Would it be possible to please remove the line: .Where(att => att.IsValidForCreate != null && att.IsValidForCreate.Value)

Kind Regards,

Thomas

DataMigrationControl.cs:

                    // filter valid attributes
                    args.Result = tableData.Metadata.Attributes
                        .Where(att => att.IsValidForRead != null && att.IsValidForRead.Value)
                        .Where(att => att.IsValidForCreate != null && att.IsValidForCreate.Value)
                        .Where(att => att.DisplayName != null && att.DisplayName.UserLocalizedLabel != null && !string.IsNullOrEmpty(att.DisplayName.UserLocalizedLabel.Label))
                        .Select(att => new Models.Attribute
                        {
                            Type = att.AttributeTypeName.Value.EndsWith("Type") ? att.AttributeTypeName.Value.Substring(0, att.AttributeTypeName.Value.LastIndexOf("Type")) : att.AttributeTypeName.Value,
                            LogicalName = att.LogicalName,
                            DisplayName = att.DisplayName.UserLocalizedLabel.Label,
                            Updatable = att.IsValidForUpdate.Value
                        })
                        .ToList();


Data Migration Tool - Case list of attributes does not have statecode

Doesn't work

Unable to Export. "Could not load file or assembly BetterFolderBrowser"

[Enhancement] Filter Records by related table

Sometimes, there is a requirement to filter the records based on the related table.
It would be great if the tool allows the filter using the whole FetchXml with <link-entity> instead of just <filter> XML.

image

Impossible to export table teamroles

Hi,

In the context of a deployment from DEV-->UAT, I would like to export/import the content of table teamroles .
As I cannot find this table in the list of available tables, does it mean that this export is forbidden ? if so, why ? and would it be possible to add this features ?

Many thanks in advance.

Error: Import a Whole Number field

Hi,

When i import a Whole Number field cause error "Incorrect attribute value type System.Int64" because it used Int64 instead Int32 (
JsonConvert will use Int64 to deserialize integer type).

Can you fix this issue?

Thanks & regards!

Error when importing a Team synchronized on an Azure Security Group

On my DEV environment, I have a Team being synchronized on an Azure Security Group.
I've exported its data and got a file called team.json.
When I try to import it with no change on my target environment (where it does not yet exists), I'm getting the following error:

ERROR: Type Mismatch: Type of Attribute: Team.azureactivedirectoryobjectid is: System.Guid. However, Type of passed-in value is: System.String;

I'm getting the same behaviour anytime I'm trying to export, then import a Team being synchronized on an Azure Security Group.

Thks for your help. Regards

Type Mismatch when you import the data file

There is an error when you try to import data values based on decimal type.
I have tried to change "." by "," or using the value between "" but it throws a validation error in the json format file or the data value format, hence I cannot change it.
Could you revise this?

[Enhancement] Support Importing N:N tables by Associate and Disassociate Requests

Based on Issue #8, it seems like the previous filtering of the N:N tables is removed.

However, the table is in grey colour (probably because it does not support import) and all the attributes of the table are marked as "Invalid Attributes" and only visible when the "Hide Invalid Attributes" is unchecked.
image

It is understood that the CUD operations are not supported for those N:N tables as mentioned in Issue #8 but it would be great if the tool would allow importing the exported data by Associate and Disassociate requests.
Currently, only the following error message is present when I attempt to import the data to N:N table.
image

Import of date/time fields failing

When importing an exported data set where one of the attributes is a date, the import of that row generates an error.

  • Row error: "ERROR: Incorrect attribute value type System.String"

  • key-value pair that, when removed, allows import to succeed (leaving the field below null in target) {
    "key": "fakeprefix_dateoflastcontact",
    "value": "/Date(1649332800000)/"
    }

  • failing attribute schema definition:

    • Data Type: Date and Time
    • Field Type: Simple
    • Behavior: User Local
    • Format: Date and Time
    • IME Mode: auto

Edited to add: THANK YOU for this great tool. I particularly enjoy the ability to export to json, where reference data can be added to a code repository for safe-keeping. Thanks again!

Error importing multi-select option set columns

When importing an exported data set where one of the attributes is a multi-select option set, the import of that row generates an error. In the case below, only one option of the multi-select option set was selected.

Row error: "ERROR: Incorrrect attribute value type System.Object[]"

key-value pair that, when removed, allows import to succeed (leaving the field below null in target)

{

      "key": "fakeprefix_fieldname",
      "value": [
        {
          "__type": "OptionSetValue:http:\/\/[schemas.microsoft.com](http://schemas.microsoft.com/)\/xrm\/2011\/Contracts",
          "Value": 810050000
        }
      ]
    }

failing attribute is a multi-select option set.

Thank you in advance, and thank you once again for this tool.

Error: The user name is required.

Hi ,
I am getting below when I am trying to import data using generated JSON.
"Error: The user name is required"
Any idea what must be causing it?

Allowing export without target and import without source

Thanks for this great tool!
Couple of suggestions/feature requests:

  1. Would it be possible to do Export without selecting the source? (I usually dump configuration data entities to git and then push them to target environment)
  2. Prettyprint json helps a lot when doing diffs. I think something like this:
    Newtonsoft.Json.Linq.JValue.Parse(json).ToString(Newtonsoft.Json.Formatting.Indented);
    in DataLogic.cs (line261) would do the trick
  3. Being able to import the data without connecting to the source, but only to target, would be great

Thanks again,
Veljko

Error: Unable to Import Settings from File

Steps to reproduce

  1. Click on "Import" menu and choose "Settings from File"
  2. Select the previously exported Table Settings (as attached here task.settings.zip)

Expected Result
Settings for the table are imported.

Actual Result
The following error message appears.
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.