Skip to content
flowon.com

Deploy & ALM

Import into an environment

Deploy a Dataverse solution, reference data and a Logic Fabric package with its data map files to a target environment in one command.

import deploys what you exported into a target environment such as test or production. One command can import a solution, data files and a Logic Fabric package with its data map files, in the right order, and stops at the first step that fails.

  1. Prepare the data map files for the target environment. See Data mapping.

  2. Run the import:

    Terminal window
    flowon-dynamics import \
    -c "$UAT_CONNECTION" \
    --solution-file-path ./artifacts/contososervice_managed.zip \
    --data-file-path ./artifacts/data.xml \
    --package-file-path ./artifacts/Contoso_Service.flop \
    --map-file-path ./mappings/uat/configuration.datamap.xml ./mappings/uat/serviceconnection.datamap.xml
  3. Check the outcome line: Import completed in … seconds. and exit code 0.

Option Alias What it does
--connectionstring -c The target environment. Required.
--solution-file-path -s A Dataverse solution file (.zip) to import first. A managed solution is skipped when the installed version is the same or newer.
--override-unmanaged-customizations -oc Overwrite unmanaged customizations made on top of the solution’s managed components. Without it they are kept. Only valid with --solution-file-path.
--data-file-path -d A data file to import, as produced by export --data-spec-file-path. Repeat the option, or list several paths, for more than one.
--package-file-path -p The Logic Fabric package (.flop) to import. Its Dataverse solution must already be installed, or be given with --solution-file-path.
--map-file-path -m A data map file to apply to the package. Repeat, or list several paths, for more than one. Requires --package-file-path.
--log-level -l none (default), info or verbose.

Give at least one of --solution-file-path, --data-file-path or --package-file-path.

Whatever order you write the options in, the import runs:

  1. the solution;
  2. the data files, in the order given;
  3. the package, with the data map files applied.

If a step fails, the later steps don’t run, and the message says what wasn’t imported:

Failed step Message
Solution Could not import solution file '…'; nothing else was imported.
A data file Could not import data file '…'; the files after it were not imported.
Package Could not import Flowon package '…'.

The command then exits with code 1. Steps that completed before the failure stay imported. For example, the solution remains installed if the package fails.

The CLI first checks that every file exists, that the environment is reachable, that --override-unmanaged-customizations comes with a solution, and that data map files come with a package. If a check fails, nothing is imported. To apply data map files to a project that is already imported, use apply-mappings.

Without --override-unmanaged-customizations, unmanaged changes that someone made on top of your managed components in the target environment are kept; with it, they are overwritten by the solution.

Managed solutions that are already up to date

Section titled “Managed solutions that are already up to date”

When the target environment already has the same or a newer version of a managed solution, the solution step is skipped and the import continues with the data and package. Increase the solution version for every release. See increment-solution-version.

Deploy a release with all four kinds of data map files:

Terminal window
flowon-dynamics import \
-c "$PROD_CONNECTION" \
-s ./artifacts/contososervice_managed.zip \
-d ./artifacts/data.xml \
-p ./artifacts/Contoso_Service.flop \
-m ./mappings/prod/configuration.datamap.xml \
./mappings/prod/serviceconnection.datamap.xml \
./mappings/prod/localizedresources.datamap.xml \
./mappings/prod/entity.datamap.xml

If the import fails, fix the cause and run the same command again. A managed solution that is already installed at this version is skipped, and the data and package are imported again.