ApexSQL Diff Command Line Interface (CLI) switches

Applies to
ApexSQL Diff and ApexSQL Diff for MySQL

Summary
This article explains the ApexSQL Diff CLI switches, and their usage through the examples

Description

Note:

  • [1] Switch is only applicable for ApexSQL Diff
  • [2] Switch is only applicable for ApexSQL Diff for MySQL

Connection switches

/server1 Specifies server and instance name of the source SQL/MySQL instance
Alias: /s1
Format: /server1:server_name[\instance_name]
/server2 Specifies server and instance name of the destination SQL/MySQL instance
Alias: /s2
Format: /server2:server_name[\instance_name]
Quick tip icon

Quick tip:

If a Server is not specified “(local)” instance is assumed.

/database1 Specifies the name of the source database
Alias: /d1
Format: /database1:SourceDatabaseName
/database2 Specifies the name of the destination database
Alias: /d2
Format: /database2:DestinationDatabaseName
/user1 Specifies the source login when using SQL/MySQL Server authentication
Alias: /u1
Format: /user1:sourcelogin
Note: You must use this option together with
the /password1 switch
/user2 Specifies the destination login when using SQL/MySQL Server authentication
Alias: /u2
Format: /user2:destinationlogin
Note: You must use this option together with
the /password2 switch
Quick tip icon

Quick tip:

If a user is not specified a trusted connection is assumed

/password1 Specifies the source login’s password when using SQL/MySQL Server authentication
Alias: /p1
Format: /password1:sourcepassword
Note: You must use this option together with the /user1 switch
/password2 Specifies the destination login’s password when using SQL/MySQL Server authentication
Alias: /p2
Format: /password2:destinationpassword
Note: You must use this option together with the /user2 switch
/port1[2] Specifies the source port
Alias: /po1
Format: /port1:sourceport
/port2[2] Specifies the destination port
Alias: /po2
Format: /port2:destinationport
Quick tip icon

Quick tip:

If a port is not specified 3306 will be used by default.

/protocol_type1[2] Specifies the source protocol type:
Tcpip [tcp] – TCP/IP
NamedPipe [np] – named pipe
/protocol_type2[2] Specifies the destination protocol type:
Tcpip [tcp] – TCP/IP
NamedPipe [np] – named pipe
Quick tip icon

Quick tip:

If the protocol type is not specified, TCP/IP will be used.

/backup1[1] Specifies the file name of the source backup
Alias: /b1
Format: /backup1:”SourceBackup.bak”
/backup2[1] Specifies the file name of the destination backup
Alias: /b2
Format: /backup2:
”DestinationBackup.bak”
/backup_set1[1] Specifies the file name of the source differential backup set
Alias: /bs1
Format: /backup_set1:
SourceBackupSetName
/backup_set2[1] Specifies the file name of the destination differential backup set
Alias: /bs2
Format: backup_set2:
DestinationBackupSetName
Quick tip icon

Quick tip:

The full path of a backup file, along with the backup file extension, e.g. .bak, or .trn, has to be defined, so that command could be correct.

/snapshot1[1] Specifies the file name of the source snapshot
Alias: /sn1
Format: /snapshot1:
”SourceSnapshot.axsnp”
/snapshot2[1] Specifies the file name of the destination snapshot
Alias: /sn2
Format: /snapshot2:
”DestinationSnapshot.axsnp”
/sourcecontrol_
folder1[1]
Specifies the path of the local working folder as the source
Alias: /scf1
Format: /sourcecontrol_folder1:”SourceControlFolder
Source”
/sourcecontrol_
folder2[1]
Specifies the path of the local working folder as the destination
Alias: /scf2
Format: /sourcecontrol_folder2:”SourceControlFolder
Destination”
/sourcecontrol_
type1[1]
Specifies the source control system to be compared as the source:

  • git
  • mercurial
  • perforce
  • subversion
  • teamfoundationserver

Alias: /sct1
Format: /sourcecontrol_type1:git
Note: These arguments can’t be combined

/sourcecontrol_
type2[1]
Specifies the source control system to be compared as the destination:

  • git
  • mercurial
  • perforce
  • subversion
  • teamfoundationserver

Alias: /sct2
Format: /sourcecontrol_type2:
mercurial

Note: These arguments can’t be combined

/sourcecontrol_
server1[1]
Specifies the name of the source control server used as the source (TFS server, Perforce host)
Alias: /scs1
Format: /sourcecontrol_server1:[<protocol>://<hostname>:<portname>/tfs | https://.visualstudio.com/DefaultCollection] (example for Team Foundation Server)
Format: /sourcecontrol_server1:<protocol>://<hostname>:<portname> (example for Perforce)
/sourcecontrol_
server2[1]
Specifies the name of the source control server used as the destination (TFS server, Perforce host)
Alias: /scs2
Format: /sourcecontrol_server2:[<protocol>://<hostname>:<portname>/tfs | https://.visualstudio.com/DefaultCollection] (example for Team Foundation Server)
Format: /sourcecontrol_server2:<protocol>://<hostname>:<portname> (example for Perforce)
/sourcecontrol_
repository1[1]
Specifies the repository of the source control server used as the source(Git, Mercurial, Subversion repository, Perforce depot)
Alias: /scr1
Format: /sourcecontrol_repository1: <protocol>://<hostname>:<portnumber>/<git_server_name>
/<repository>
(example for Git repository)
Format: /sourcecontrol_repository1:<protocol>
://<hostname>:<portnumber>/<repository>/
(example for Mercurial repository)
Format: /sourcecontrol_repository1:<protocol>
://<hostname>:<portnumber>/svn/
<repository>/
(example for Subversion repository)

/sourcecontrol_
repository2[1]
Specifies the repository of the source control server used as the destination (Git, Mercurial, Subversion repository, Perforce depot)
Alias: /scr2
Format: /sourcecontrol_repository2:<protocol>
://<hostname>:<portnumber>/<git_server_name>/<repository>
(example for Git repository)
Format: /sourcecontrol_repository2:<protocol>://<hostname>:<portnumber>/<repository> (example for Mercurial repository)
Format: /sourcecontrol_repository2:<protocol>
://<hostname>:<portnumber>/svn/<repository>/
(example for Subversion repository)

/sourcecontrol_
user1[1]
The login used to connect to the source control server used as the source
Alias: /scu1
Format: /sourcecontrol_user1:sourcelogin
/sourcecontrol_
user2[1]
The login used to connect to the source control server used as the destination
Alias: /scu2
Format: /sourcecontrol_user2:destinationlogin
/sourcecontrol_
password1[1]
Specifies the password for the login used as the source /sourcecontrol_user1
Alias: /scp1
Format: /sourcecontrol_password1:
sourcepassword
/sourcecontrol_
password2[1]
Specifies the password for the login used as the destination/sourcecontrol_user2
Alias: /scp2
Format: /sourcecontrol_password2:
destinationpassword
/sourcecontrol_
branch1[1]
Specified the branch name for the Git source control type used as the source (“master” if omitted)
Alias: /scb1
Format: /sourcecontrol_branch1:
“source_branch_name”
/sourcecontrol_
branch2[1]
Specified the branch name for the Git source control type used as the destination (“master” if omitted)
Alias: /scb2
Format: /sourcecontrol_branch2:
“destination_branch_name”
/sourcecontrol_
project1[1]
Project path containing script files on the source control server used as the source (Git, Mercurial, Subversion, TFS folder, Perforce workspace)
Alias: /scj1
Format: /sourcecontrol_project1:”$/ProjectName”
/sourcecontrol_
project2[1]
Project path containing script files on the source control server used as the destination (Git, Mercurial, Subversion, TFS folder, Perforce workspace)
Alias: /scj2
Format: /sourcecontrol_project2:”$/ProjectName”
/get_sources_by_
label_1[1]
Gets the script files from the source control used as the comparison source by label
Alias: /scl1
Format: /get_sources_by_label_1:
“SourceLabelName”

Note: Omitting this switch will result in getting the latest label
/get_sources_by_
label_2[1]
Gets the script files from the source control used as the comparison destination by label
Alias: /scl2
Format: /get_sources_by_label_2:
“DestinationLabelName”

Note: Omitting this switch will result in getting the latest label
/script_folder1[1] Specifies the path of the script folder to be used as the source
Alias: /sf1
Format: /script_folder1:
”SourceScriptFolder”
/script_folder2[1] Specifies the path of the script folder to be used as the destination
Alias: /sf2
Format: /script_folder2:
”DestinationScriptFolder”
/collation1[1] Specifies the SQL compatibility level of the scripts in the source script folder or source control
Alias: /c1
Default: SQL_Latin1_General_CP1_CI_AS
Format: /collation1:collation_constant
/collation2[1] Specifies the SQL compatibility level of the scripts in the destination script folder or source control
Alias: /c2
Default:SQL_Latin1_General_CP1_CI_AS
Format: /collation2:collation_constant
/compatibility_
level1[1]
Specifies the SQL compatibility level of the scripts in the source script folder or source control:

  • SQL2005 [2005]
  • SQL2008 [2008]
  • SQL2012 [2012]
  • SQL2014 [2014]
  • SQL2016 [2016]
  • SQL2017 [2017]

Alias: /cl1
Format: /compatibility_level1:[2005|2008|2012|2014|2016|2017]
Note: These arguments can’t be combined

/compatibility_
level2[1]
Specifies the SQL compatibility level of the scripts in the destination script folder or source control:

  • SQL2005 [2005]
  • SQL2008 [2008]
  • SQL2012 [2012]
  • SQL2014 [2014]
  • SQL2016 [2016]
  • SQL2017 [2017]

Alias: /cl2
Format: /compatibility_level2:[2005|2008|2012|2014|2016|2017]
Note: These arguments can’t be combined

Integration services connection switches[1]

/integration_
services_
packages1
Integration services packages used as the source data source
Alias: /isp1
Format: /integration_services_packages1:
service[:SQL2005|SQL2008|SQL2012|
SQL2014|SQL2016].package1…packageN
[:password]

(service can be: servicesname or [ipaddress])
/integration_
services_
packages2
Integration services packages used as the destination data source
Alias: /isp2
Format: /integration_services_packages2:
service[:SQL2005|SQL2008|SQL2012|
SQL2014|SQL2016].package1…packageN
[:password]

(service can be: servicesname or [ipaddress])
/package_files1 Package files used as the source data source
Alias: /pfs1
Format: /package_files1:file1
[:password]…fileN[:password]
/package_files2 Package files used as the destination data source
Alias: /pfs2
Format: /package_files2:file1
[:password]…fileN[:password]
/sql_server_
packages1
SQL Server packages used as the source data source
Alias: /ssp1
Format: /sql_server_packages1:server[.user][.password]:package1.package2…
packageN[:package_password]

(server can be: servername or [ipaddress])
/sql_server_
packages2
SQL Server packages used as the destination data source
Alias: /ssp2
Format: /sql_server_packages2:server[.user]
[.password]:package1.package2…
packageN[:package_password]

(server can be: servername or [ipaddress])
/ssisdb_
catalog_
packages1
SSISDB catalog packages used as the source data source
Alias: /sdbp1
Format: /sql_server_packages2:server[.user]
[.password]:package1.package2…packageN
[:package_password]
(server can be: servername or [ipaddress])
/ssisdb_
catalog_
packages2
SSISDB catalog packages used as the destination data source
Alias: /sdbp2
Format: /ssisdb_catalog_packages2:server[.user]
[.password]:package1.package2…packageN
[:package_password]
(server can be: servername or [ipaddress])
/ssis_project_
file1
SSIS project file used as the source data source
Alias: /sspr1
Format: /ssis_project_file1:file_path
/ssis_project_
file2
SSIS project file used as the destination data source
Alias: /sspr2
Format: /ssis_project_file2:file_path

Specific switches

/project Specifies a project file path, along with “.axds” extension
Alias: /pr
Format: /project:”ProjectName.axds”

Quick tip icon

Quick tip:

If a project file is saved outside of the current directory, specify the path where it’s located.

/export[1] Specifies exporting a live database to a snapshot, a script folder, or source control project
Alias: /ex
Format: /d1:SourceDB /sn1:”SnapshotName.axsnp” /ex

/output_type Specifies the primary output format of the comparison results, synchronization script, or executable packages:

  • sql [s] – SQL sync script
  • html [h] – HTML report
  • html_simple [hs] – simple HTML report
  • html_schema_source [hss] – HTML schema report of source objects
  • html_schema_destination [hsd] – HTML schema report of destination objects
  • xml [x] – XML export
  • excel [e] – Excel report
  • csharp [cs] – C# solution[1]
  • net_executable [ne] – Executable installer[1]

Alias: /ot
Format: /output_type:[s|h|hs|hss|hsd|x|e|cs|ne]
Note: These arguments can’t be combined

/output_type2 Specifies the secondary output format of the comparison results, synchronization script, or executable packages:

  • sql [s] – SQL sync script
  • html [h] – HTML report
  • html_simple [hs] – simple HTML report
  • html_schema_source [hss] – HTML schema report of source objects
  • html_schema_destination [hsd] – HTML schema report of destination objects
  • xml [x] – XML export
  • excel [e] – Excel report
  • csharp [cs] – C# solution[1]
  • net_executable [ne] – Executable installer[1]

Alias: /ot2
Format: /output_type:[s|h|hs|hss|hsd|x|e|cs|ne]
Note: These arguments can’t be combined

/output_name Specifies the primary output name/folder path of the comparison results, synchronization script or executable packages. (“Synchronize_%date%_%time%.sql” filename, “SchemaDifference_%date%_%time%.html” filename, “SchemaDifference_%date%_%time%.xml” filename, “servername.databasename.exe” filename or “servername.databasename” folder if omitted).
Alias: /on
Format: /output_name:”Synchronize_%date%_%time%.sql”
/output_name2 Specifies the secondary output name/folder path of the comparison results, synchronization script or executable packages. (“Synchronize_%date%_%time%.sql” filename, “SchemaDifference_%date%_%time%.html” filename, “SchemaDifference_%date%_%time%.xml” filename, “servername.databasename.exe” filename or “servername.databasename” folder if omitted).
Alias: /on2
Format: /output_name2:“SchemaDifference_%date%_%time%.html”
Quick tip icon

Quick tip:

Two output files can be generated at once, for example the synchronization script and the HTML report (e.g. /on:Synchronize_%date%_%time%.sql and /on2:SchemaDifference_%date%_%time%.html)

/objects_to_
synchronize
Specifies the objects to be synchronized based on their comparison status:

  • Missing [m]
  • Additional [a]
  • Different [d]
  • Default [dft] – Missing, additional, and different objects will be synchronized

Alias: /ots
Format: /ots:[a|m|d|dft]
Note: These arguments can be combined except for
Default
Omitting this switch will result in synchronizing missing, additional, and different objects

/include Includes specific objects into the comparison and synchronization process. Objects can be specified by first specifying a bitwise set and a regular expression.
Alias: /inc
Format: /include:bitwise_constant:
“regular_expression1:regular_expression2:…”

Example: /include:8:”Address$” (includes all tables that end with Address)
Note: Multiple includes can be specified with spaces in between

/exclude Excludes specific objects from the comparison and synchronization process. Objects can be specified by first specifying a bitwise set and a regular expression.
Alias: /exc
Format: /exclude:bitwise_constant:
“regular_expression1:regular_expression2:…”

Example: /exclude:4:”^Cou” (excludes all views that start with Cou)
Note: Multiple excludes can be specified with spaces in between.
The /exclude switch is processed after the /include switch (if it is specified)

/ignore_project_
object_selection
Ignore object selection specified in the project file
Alias: /ipos
Format: /ignore_project_object_selection

/folders_mapping1[1]

Specifies the path to an XML file containing the folder mapping settings for source script folder or source control project data source
Alias: /fm1
Format: /folders_mapping1:
”SourceFoldersMapping.xml”
/folders_mapping2[1]

Specifies the path to an XML file containing the folder mapping settings for destination script folder or source control project data source
Alias: /fm2
Format: /folders_mapping2:
”DestinationFoldersMapping.
xml”
/output_elements[1] Specifies a set of the optional output elements:

  • None [n]
  • Author [a]
  • DateTime [dt]
  • Legal [l]
  • Coments [cmt]
  • PrintStatement [ps]
  • Default [dft] – Combination of Comments and PrintStatements

Alias: /oe
Format: /output_elements:[a|dt|l|cmt|ps]
Note: Arguments can be combined.
The Author and Legal values must be used together with the /author and /legal switches

/author[1] Specifies the name of the author in the header of the comparison report or the synchronization script
Alias: /auth
Format: /author:”John Doe”
Note: If the /author switch is specified, its dependent switch and value /output_elements:a need to be provided
/legal[1] Specifies legal information in the header of the comparison report or the synchronization script
Alias: /leg
Format: /leg:”© ApexSQL LLC”
Note: If the /legal switch is specified, its dependent switch and value /output_elements:l need to be provided

General synchronization switches

/encoding Specifies the output file encoding:

  • ANSI [a]
  • Unicode [u]
  • UTF7 [u7]
  • UTF8 [u8]

Alias: /enc
Format: /encoding:[a|u|u7|u8]
Note: These arguments can’t be combined

Quick tip icon

Quick tip:

If no output encoding was specified, Unicode encoding is assumed.

/synchronize Executes the synchronization script
Alias: /sync
Format: /synchronize
/destination tp source Treat the specified comparison source as the destination
Alias: /dts

/backup[1] Allows providing the path for the destination backup to be saved to a specific location, or:

  • None [n] – Prevents the backup from being created
  • Default [dft] – Saves the backup in the installation directory

Alias: /bu
Format: /backup:[Default|None|”BackupFolder”]
Note: These arguments can’t be combined
Omitting this switch will result in the destination backup being created in the default backup directory of used SQL Serverinstallation

Quick tip icon

Quick tip:

The switch /backup should be used along with the switch /synchronize

/sync_new_objects[1] Include new objects in the synchronization process that were added to a data source(s) after saving a project file.
Alias: /sno
Format: /sync_new_objects:bitwise_constant
Example: /sync_new_objects:8 (synchronizes all new tables added after creating the project file)
Note: The /sno switch can be used only with the /project switch.
If the Ignore new objects option is checked in the saved project file, it will be overridden with the /sno switch and only new objects specified with the /sno switch will be synchronized

/create_snapshot_
before_sync[1]
Create a snapshot of the destination database before synchronization
Alias: /csnp

/snapshot_
file_name[1]
The full path and file name for the snapshot, along with a “.axsnp” extension that can be created for destination database, script folder, or source control project.
Alias: /sfn
Format: /snapshot_file_name:
“DestinationSnapshot.axsnp”
/create_rollback_
script_before_sync[1]
Create rollback script for destination databases before synchronization
Alias: /crbs

/rollback_script_
file_name[1]
The full path and file name for the rollback script, along with a “.sql” extension
Alias: /rsfn
Format: /rollback_script_file_name:
“RollbackScript.sql”
/backup_script_
folder[1]
Create script folder backup for destination script folder or source control before synchronization
Alias: /bsf

/backup_script_
folder_path[1]
Full path to the folder for the script folder backup
Alias: /bsfp
Format: /backup_script_folder_path:
“BackupFolderName”
/sync_options[1] Specifies the general synchronization options:

  • None [n] – Sets all options to off
  • DestinationToSource [dts] – Treats the specified comparison source as the destination and vice versa
  • Default [dft] – Uses the default settings

Alias: /so
Format: /sync_options:[n|dts|dft]
Note: These arguments can be combined with each other except for None and Default
Omitting this switch will result in the default settings being used

/sourcecontrol_sync_
comments[1]
Specifies the synchronization comments
Alias: /scsc
Format: /sourcecontrol_sync_comments:
“CommitComment”
/sourcecontrol_sync_
label[1]
Specifies the synchronization label
Alias: /scsl
Format: /sourcecontrol_sync_label:”LabelName”
/prescript_file_path[1] The full path to the pre-processing script file path, along with the “.sql” extension
Alias: /prefp
Format: /prescript_file_path:”PreScript.sql”
/postcript_file_path[1] Full path to the post-processing script file path, along with the “.sql” extension.
Alias: /postfp
Format: /postscript_file_path:”PostScript.sql”
/warnings_handling Specifies warnings handling before the application execution:

  • IgnoreWarnings [iw] – Warnings will be ignored during the application execution
  • AbortOnMediumOrHighWarnings [amh] – Application execution will be aborted on medium or high warnings
  • AbortOnHighWarnings [ah] – Application execution will be aborted only on high warnings
  • Default [dft] – Sets the IgnoreWarnings argument

Alias: /wh
Format: /warnings_handling:[iw|amh|ah|dft]
Note: These arguments cannot be combined.

/summary_output The full path and file name for the synchronization summary output along with the “.log” extension
(if omitted “C:\Users\UserName\AppData\Local\ApexSQL\ApexSQLDiff\Log\Changes.log” will be used
and if omitted for ApexSQL Diff for MySQL “C:\Users\UserName\AppData\Local\ApexSQL\ApexSQLDiff for MySQL\Log\Changes.log” will be used)
Alias: /suo
Format: /summary_output:
“SynchronizationSummary.log”
/warnings_output The full path and file name for the synchronization warnings output along with the “.log” extension
(if omitted “C:\Users\UserName\AppData\Local\ApexSQL\ApexSQLDiff\Log\Warnings.log” will be used)
Alias: /wao
Format: /warnings_output:”Warnings.log”

Comparison switches

/schema_mapping[1] The full path to the schema mapping file, along with the “.axmp” extension (default schema mapping will be used for comparing objects, if the switch is omitted)
Alias: /sm
Format: /schema_mapping:
”SchemaMapping.axmp”
/associate_columns Specifies the degree of column names similarity for matching, a percentage value, or:

  • Default [dft] – Uses the default setting (80%)
  • None [n] – Sets value to none

Alias: /ac
Format: /associate_columns:80%

/ignore_general Specifies the following difference ignoring options:

  • None [n]
  • IgnoreAnsiOption [iao]
  • IgnoreAuthorization [iau]
  • IgnoreBoundRulesAndDefaults [ibrd]
  • IgnoreCase [ic]
  • IgnoreCaseInNames [icin]
  • IgnoreComments [icm]
  • IgnoreDatabaseExtendedProperties [idep]
  • IgnoreExtendedProperties [iep]
  • IgnoreInvalidObjects [iio]
  • IgnoreNewObjects [ino]
  • IgnorePermissions [ip]
  • IgnoreReplicationTriggers [irt]
  • IgnoreServerAndDatabaseInSynonyms [isds]
  • IgnoreSystemObjects [iso]
  • IgnoreTriggerOrder [ito]
  • IgnoreWhiteSpace [iws]
  • IgnoreWithEncryption [iwe]
  • Default [dft] – combination of IgnoreCase, IgnoreDatabaseExtendedProperties, IgnoreInvalidObjects, IgnoreSystemObjects, and IgnoreWhiteSpace options

Alias: /ig
Format: /ignore_general:set_of_the_
options_delimited_by_space

Example: /ignore_general:iws ic iso idep iio
Note: These arguments can be combined except for None and Default
Omitting this switch will result in using the default settings

Quick tip icon

Quick tip:

Applicable switches for ApexSQL Diff for MySQL are:

  • None [n]
  • IgnoreCase [ic]
  • IgnoreCaseInNames [icin]
  • Default [dft] – IgnoreCase

/ignore_table_
attributes
Specifies the following table attribute ignoring options:

  • None [n]
  • IgnoreChangeTracking [ict]
  • IgnoreCheckDefaultConstraints [icdc]
  • IgnoreCollations [iclt]
  • IgnoreColumnOrder [ico]
  • IgnoreConstraintNames [icn]
  • IgnoreFillfactor [ifc]
  • IgnoreFilegroups [ifd]
  • IgnoreForeignKeys [ifk]
  • IgnoreForeignKeysActions [ifka]
  • IgnoreFullTextIndexes [ifti]
  • IgnoreIdentity [iid]
  • IgnoreIdentitySeedAndIncrement [iisi]
  • IgnoreIndexes [ii]
  • IgnoreIndexesNames [iin]
  • IgnoreIndexLock [ipl]
  • IgnoreIndexSortOrder [iiso]
  • IgnoreNextFileGroups [infg]
  • IgnoreNotForReplication [infr]
  • IgnorePrimaryKeys [ipk]
  • IgnoreSecondaryAttributes [iaic]
  • IgnoreStatistics [is]
  • IgnoreUniqueConstraints [iuc]
  • IgnoreUserDefinedDatatypes [iut]
  • IgnoreWithNoCheck [iwnc]
  • Default [dft] – combination of IgnoreColumnOrder, IgnoreFilegroups and IgnoreFillfactor options

Alias: /ita
Format: /ignore_table_attributes:
set_of_the_options_
delimited_by_space

Example: /ignore_table_attributes:ico ifd ifc
Note: These arguments can be combined except for None and Default
Omitting this switch will result in using the default settings

Quick tip icon

Quick tip:

Applicable switches for ApexSQL Diff for MySQL are:

  • None [n]
  • IgnoreColumnOrder [ico]
  • IgnoreConstraintNames [icn]
  • Default [dft] – IgnoreColumnOrder

/ignore_parsing_
errors[1]
Ignore parsing errors during the comparison process
Alias: /ipe
Format: ignore_parsing_errors

/comparison_summary_
output
Full path and file name for the comparison summary output along with the “.log” extension
Alias: /cso
Format: /comparison_summary_output:
”ComparisonSummary.log”

Synchronization switches

/manage_owners[1] Specifies the following options for schema scripting:

  • None [n] – Uses the default settings
  • ExcludeAlways [ea]
  • ExcludeNotConnectedUser [encu]
  • ExcludeNotDatabaseOwner [endo]
  • Include [i]

Alias: /mo
Format: /manage_owners:ea
Note: These arguments cannot be combined

/struct_sync_
options
Specifies the synchronization script’s structure and scope:

  • None [n]
  • AddWithEncryption [awe]
  • CheckForObjectExistence [cfoe]
  • DisableDDLTriggers [ddt]
  • IncludeDependentDatabaseObjects [iddo]
  • IncludeTransactionHandling [ith]
  • ScriptUseDatabase [sud]
  • UseDROPandCREATE [udc]
  • UseDropAndCreateTables [udct]
  • Default [dft] – combination of IncludeTransactionHandling, IncludeDependentDatabaseObjects and ScriptUseDatabase options

Alias: /sso
Format: /struct_sync_options:
set_of_options_delimited_by_space

Example: /struct_sync_options:iddo ith sud
Note: These arguments can be combined with each other except for None and Default

Quick tip icon

Quick tip:

• Applicable switches for ApexSQL Diff for MySQL are:

  • None [n]
  • IncludeDependentDatabaseObjects [iddo]
  • ScriptUseDatabase [sud]
  • ScriptDatabaseNames[sdn]
  • UseDROPandCREATE [udc]
  • UseDropAndCreateTables [udct]
  • Default [dft] – IncludeDependentDatabaseObjects

Reporting switches

/html_report_
options
Set of primary HTML report options:

  • Equal [e]
  • Different [d]
  • Source [s]
  • Destination [t]
  • CheckedOnly [co]
  • IncludeScripts [is]
  • Default [dft] – combination of Equal, Different, Source and Destination options

Alias: /hro
Format: /html_report_options:[e|d|s|t|co|is]
Note: These arguments can be combined.

/html_report_
options2
Set of secondary HTML report options:

  • Equal [e]
  • Different [d]
  • Source [s]
  • Destination [t]
  • CheckedOnly [co]
  • IncludeScripts [is]
  • Default [dft] – combination of Equal, Different, Source and Destination options

Alias: /hro2
Format: /html_report_options2:[e|d|s|t|co|is]
Note: These arguments can be combined.

/html_schema_
report_options
Set of primary HTML schema report options:

  • Equal [e]
  • Different [d]
  • Source [s]
  • Destination [t]
  • CheckedOnly [co]
  • IncludeScripts [is]
  • Default [dft] – a combination of Equal, Different, Source and Destination options

Alias: /hsro
Format: /html_schema_report_options:[e|d|s|t|co|is]
Note: These arguments can be combined.

/html_schema_
report_options2
Set of secondary HTML schema report options:

  • Equal [e]
  • Different [d]
  • Source [s]
  • Destination [t]
  • CheckedOnly [co]
  • IncludeScripts [is]
  • Default [dft] – a combination of Equal, Different, Source and Destination options

Alias: /hsro2
Format: /html_schema_report_options2:[e|d|s|t|co|is]
Note: These arguments can be combined.

/xml_export_
options
Set of primary XML schema export options:

  • Equal [e]
  • Different [d]
  • Source [s]
  • Destination [t]
  • CheckedOnly [co]
  • IncludeScripts [is]
  • Default [dft] – a combination of Equal, Different, Source and Destination options

Alias: /xeo
Format: xml_export_options:[e|d|s|t|co|is]
Note: Arguments can be combined

/xml_export_
options2
Set of primary XML schema export options:

  • Equal [e]
  • Different [d]
  • Source [s]
  • Destination [t]
  • CheckedOnly [co]
  • IncludeScripts [is]
  • Default [dft] – a combination of Equal, Different, Source and Destination options

Alias: /xeo2
Format: xml_export_options2:[e|d|s|t|co|is]
Note: Arguments can be combined

/excel_report_
options
A set of primary Excel report options:

  • Equal [e]
  • Different [d]
  • Source [s]
  • Destination [t]
  • CheckedOnly [co]
  • IncludeScripts [is]
  • Default [dft] – a combination of Equal, Different, Source and Destination options

Alias: /ero
Format: /excel_report_options:[e|d|s|t|co|is]
Note: These arguments can be combined.

/excel_report_
options2
A set of secondary Excel report options:

  • Equal [e]
  • Different [d]
  • Source [s]
  • Destination [t]
  • CheckedOnly [co]
  • IncludeScripts [is]
  • Default [dft] – a combination of Equal, Different, Source and Destination options

Alias: /ero2
Format: /excel_report_options2:[e|d|s|t|co|is]
Note: These arguments can be combined.

Package switches[1]

/package_
compression
Reduces the size of the resulting executable by using compression
Alias: /pkcm
Format: /package_compression
/package_error Sets the package error handling (“ask” if omitted):

  • Abort – package execution is aborted and all changes are rolled back
  • Ignore – all errors are ignored during the package execution
  • Ask – user confirmation is required for each encountered error, whether to abort or continue the package execution

Alias: /pke
Format: /package_error:[Abort|Ignore|Ask]
Note: These arguments cannot be combined.

/package_author Places the author tag into the about box of the package.
Alias: /pkaa
Format: /package_author:Author_name
/package_company Places the company tag into the about box of the package.
Alias: /pkca
Format: /package_company:Company_name
/package_legal Places the legal tag into the about box of the package
Alias: /pkal
Format: /package_comments:Comments
/vs_ver Sets package Visual Studio version (“VS2015” if omitted):

  • VS2005
  • VS2008
  • VS2010
  • VS2012
  • VS2013
  • VS2015
  • VS2017

Alias: /vsv
Format: /vs_ver:[VS2005|VS2008|VS2010|VS2012| VS2013|VS2015|VS2017]
Note: These arguments cannot be combined.

/indicate_
default_db
Sets the default database the generated package should be executed against.
Alias: /ddb
Format: /indicate_
default_db:”Database_name”
/create_mfs Creates a manifest file that contains the information regarding OS compatibility versions and sets the Windows user account control level to allow the application to run without any additional permissions.
Alias: /cmf

/create_dat Creates a .dat file that contains SQL/MySQL code for creating new or updating the existing database.
Alias: /cdf

/create_com Creates a CLI (Command Line Interface) executable for the package.
Alias: /ccf

/run_exe_now Runs the created executable installer immediately upon generating.
Alias: /ren

/open_in_vs Opens the generated C# solution in Visual Studio upon creation.
Alias: /ovs

Additional switches

/return_error_
code_on_equal
Forces return code 102 – no differences detected, if the compared data sources are equal, otherwise the application returns 0 return code – success.
Alias: /rece

Learn more about additional switches from the article on this link.

Return codes

ApexSQL applications have two groups of return error codes:

  1. Common return error codes – learn more about these from here

  2. Specific return error codes – for ApexSQL Diff it’s the:

    101 – The output file creating failed
    102 – No differences detected

Examples

Note: All examples assume that the current directory is the application directory. If not, the full path to ApexSQLDiff.com must be specified.

Compare the structure of two local databases:

ApexSQLDiff.com /d1:AdventureWorks2008 /d2:AdventureWorks2012

ApexSQLDiffMySQL.com /d1:World /u1:root /p1:password /d2:Menagerie /u2:root /p2:password

Compare the structure of two databases on different servers:

ApexSQLDiff.com /s1:SourceServer /d1:AdventureWorks2008 /s2:DestinationServer /d2:AdventureWorks2012

Compare the structure of two databases on different servers using authentication:

ApexSQLDiff.com /s1:SourceServer /d1:AdventureWorks2008 /u1:SourceMaster /p1:passtopass /s2:DestinationServer /d2:AdventureWorks2012 /u2:DestinationChange /p2:changes

ApexSQLDiffMySQL.com /s1:SourceServer /d1:world /u1:SourceLogin /p2:SourcePassword /s2:DestinationServer /d2:menagerie /u2:DestinationLogin /p2:DestinationPassword

Compare the structure between a snapshot and source control, define collation and compatibility level[1]:

ApexSQLDiff.com /sn1:”SourceSnapshot.axsnp” /sct2:teamfoundationserver /scs2:“https://admin.visualstudio.com/DefaultCollection” /scu2:DestSourceControlUser /scp2:dscupass /scr2:”$/ProjectName” /c2:SQL_Latin1_General_CP1_CI_AS /cl2:2017

Compare the structure between a database backup and a script folder, define collation and compatibility level[1]:

ApexSQLDiff.com /b1:”SourceBackup.bak” /sf2:”DestinationScriptFolder” /c2:SQL_Latin1_General_CP1_CI_AS /cl2:2017

Using a project file, overriding the destination username and password with switches, and specifying the path to the synchronization script:

ApexSQLDiff.com /pr:”SyncProject.axds” /u2:UserChanges /p2:passiton /on:”SyncScript.sql”

ApexSQLDiffMySQL.com /pr:”SyncProject.axdm” /u1:SourceLogin /p1:SourcePassword /u2:DestinationLogin /p2:DestinationPassword /ot:Sql /on:”SyncScript.sql”

Using a project file, overriding the destination username and password with switches, specifying comparison summary file path, specifying the synchronization summary file path, enable script database names, ignore object selection in the project file and synchronize:

ApexSQLDiffMySQL.com /pr:”SyncProject.axdm” /u1:SourceLogin /p1:SourcePassword /u2:DestinationLogin /p2:DestinationPassword /cso:”ComparisonSummary.log” /wao:”SyncronizationWarnings.log” /sso:scn /ipos /sync

Using an argument file, e.g. “argfile.xml”, to execute commands:

ApexSQLDiff.com /argfile:”ArgumentFile.xml”

ApexSQLDiffMySQL.com /argfile:”ArgumentFile.xml”

Compare the structure between views which are named “Resources” on different servers, using SQL Server authentication, set the ignore table attributes options, specify xml as output type, specify the path of the comparison report, backup the destination database, synchronize, and display all messages on the processed operation [1]:

ApexSQLDiff.com /s1:SourceServer /d1:AdventureWorks2008 /u1:SourceMaster /p1:passtopass /s2:DestinationServer /d2:AdventureWorks2012 /u2:DestinationChange /p2:changes /inc:4:^Resources$ /ita:ico ifd is iisi ifti /on:”Export.xml” /ot:xml /bu:”Backups” /sync /v

Compare the structure between a script folder with a defined collation and compatibility level and a database using SQL Server authentication, set structure synchronization options, set general ignore options, display all messages on the processed operation, specify the path of the synchronization script, set structure of html report options, display all messages on the processed operation, and overwrite the existing synchronization script [1]:

ApexSQLDiff.com /sf1:”SourceScriptFolder” /c1: SQL_Latin1_General_CP1_CI_AS /cl1:2017 /s2:DestinationServer /d2:AdventureWorks2012 /u2:DestinationChange /p2:changes /sso:iddo cfoe /ig:ip ic iep icm /on:”SyncScript.sql” /shtmo:i s coo /v /f

Compare the structure between objects specified in Object filter settings file, on different servers, set the ignore table attributes options, specify xml as output type, specify the path of the comparison report, synchronize, and display all messages on the processed operation [2]:

ApexSQLDiffMySQL.com /s1:SourceServer /d1:world /u1:SourceLogin /p1:SourcePassword /s2:DestinationServer /d2:menagerie /u2:DestinationLogin /p2:DestinationPassword /ofs:”ObjectFilterSettings.axof” /ita:Icn /on:”Export.xml” /ot:Xml /sync /v

Compare the structure between two local databases, set structure synchronization options, set general ignore options, specify the path of the synchronization script, set structure of html report options, display all messages on the processed operation, and overwrite the existing synchronization script [2]:

ApexSQLDiffMySQL.com /d1:world /u1:root /p1:SourcePassword /d1:menagerie /u2:root /p2:DestinationPassword /sso:Iddo udc /ig:Icin /on:”SyncScript.sql” /shtmo:i s co /v /f

Compare the structure between two databases on different servers, specify ports, set protocol type, set associate columns (degree of similarity), specify the synchronization summary file path, and synchronize only objects that are missing from destination database [2]:

ApexSQLDiffMySQL.com /s1:SourceServer /d1: menagerie /u1:root /u2:SourcePassword /s2:DestinationServer /d2:world /u2:root /p2:DestinationPassword /po1:SourcePort /po2:DestinationPort /pt1:np /pt2:np /suo:”SynchronizationSummary.log” /ac:50 /ots:m /sync