Database Compare Suite™
- Overview
- Product features
- Getting started
- Connecting to server
- Connecting to an Amazon DynamoDB database
- Connecting to an Amazon Redshift database
- Connecting to an Apache Cassandra database
- Connecting to an Azure SQL Database
- Connecting to an Azure Synapse Analytics data warehouse
- Connecting to a BigQuery data warehouse
- Connecting to a Greenplum database
- Connecting to an IBM DB2 database
- Connecting to an IBM Netezza database
- Connecting to a MariaDB database
- Connecting to a Microsoft Access database
- Connecting to a Microsoft SQL Server database
- Connecting to a MySQL database
- Connecting to an Oracle database
- Connecting to a PostgreSQL database
- Connecting to a Snowflake database
- Connecting to a Sybase ASE database
- Connecting to a Sybase IQ database
- Connecting to a Teradata database
- Connecting to a Vertica database
- Installing the required database drivers
- Creating a new project
- Opening an existing project
- Key activation
- User interface elements
- Connecting to server
- Operations in details
- Schema comparison
- Schema synchronization
- Schema operations options
- Data comparison
- Detailed data comparison
- Fast data comparison
- Data synchronization
- Data migration
- Settings comparison
- Virtual views
- Sorting key selection
- Selecting operation scope
- Matching
- Matching rules
- Fast data comparison options
- Data operations options
- Command-line interface
- Settings
- Requirements
- Known issues
- Support
CLI scenario schema
Here are the samples of the scenario schemas that you can use in the command-line interface of Database Compare Suite.
<?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:simpleType name="OperationSide"> <xs:restriction base="xs:token"> <xs:enumeration value="left"/> <xs:enumeration value="source"/> <xs:enumeration value="right"/> <xs:enumeration value="target"/> <xs:enumeration value="both"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="DatabaseDialectType"> <xs:restriction base="xs:token"> <xs:enumeration value="MSSQL"/> <xs:enumeration value="Azure"/> <xs:enumeration value="Oracle"/> <xs:enumeration value="Sybase"/> <xs:enumeration value="SybaseASE"/> <xs:enumeration value="DB2"/> <xs:enumeration value="MySQL"/> <xs:enumeration value="PostgreSQL"/> <xs:enumeration value="Redshift"/> <xs:enumeration value="Teradata"/> <xs:enumeration value="Greenplum"/> <xs:enumeration value="Netezza"/> <xs:enumeration value="Vertica"/> <xs:enumeration value="AzureDwh"/> <xs:enumeration value="SybaseIQ"/> <xs:enumeration value="Cassandra"/> <xs:enumeration value="DynamoDB"/> <xs:enumeration value="Access"/> <xs:enumeration value="MariaDB"/> <xs:enumeration value="BigQuery"/> <xs:enumeration value="Snowflake"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="AuthenticationKind"> <xs:restriction base="xs:token"> <xs:enumeration value="Standard"/> <xs:enumeration value="Windows"/> <xs:enumeration value="LDAP"/> <xs:enumeration value="ADIntegrated"/> <xs:enumeration value="ADPassword"/> <xs:enumeration value="SQLServer"/> <!-- Obsolete --> </xs:restriction> </xs:simpleType> <xs:simpleType name="TypeMapping"> <xs:restriction base="xs:token"> <xs:enumeration value="Default"/> <xs:enumeration value="Column"/> <xs:enumeration value="Parameter"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="MapAction"> <xs:restriction base="xs:token"> <xs:enumeration value="map"/> <xs:enumeration value="unmap"/> <xs:enumeration value="exclude"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="FilterAction"> <xs:restriction base="xs:token"> <xs:enumeration value="include"/> <xs:enumeration value="exclude"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="FilterMode"> <xs:restriction base="xs:token"> <xs:enumeration value="sqlMask"/> <xs:enumeration value="exactName"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="OperationNameType"> <xs:restriction base="xs:token"> <xs:enumeration value="Schema Comparison"/> <xs:enumeration value="Schema Synchronization"/> <xs:enumeration value="Data Comparison"/> <xs:enumeration value="Detailed Data Comparison"/> <xs:enumeration value="Data Synchronization"/> <xs:enumeration value="Fast Data Comparison"/> <xs:enumeration value="Data Migration"/> <xs:enumeration value="Settings Comparison"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="MetadataCategoryType"> <xs:restriction base="xs:token"> <xs:enumeration value="Tables"/> <xs:enumeration value="Views"/> <xs:enumeration value="Materialized Views"/> <xs:enumeration value="Functions"/> <xs:enumeration value="Procedures"/> <xs:enumeration value="Defaults"/> <xs:enumeration value="Sequences"/> <xs:enumeration value="Packages"/> <xs:enumeration value="Rules"/> <xs:enumeration value="Synonyms"/> <xs:enumeration value="User Defined Types"/> <xs:enumeration value="Virtual Data Objects"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="ReportType"> <xs:restriction base="xs:token"> <xs:enumeration value="Full"/> <xs:enumeration value="Differences"/> </xs:restriction> </xs:simpleType> <xs:attributeGroup name="ConnectionParameters"> <xs:attribute name="side" type="OperationSide" use="required"/> <xs:attribute name="databaseDialect" type="DatabaseDialectType" use="required"/> <xs:attribute name="connectionString" type="xs:normalizedString" use="optional"/> <xs:attribute name="provider" type="xs:normalizedString" use="optional"/> <xs:attribute name="server" type="xs:normalizedString" use="optional"/> <xs:attribute name="port" type="xs:normalizedString" use="optional" default="[default]"/> <xs:attribute name="database" type="xs:normalizedString" use="optional"/> <xs:attribute name="authentication" type="AuthenticationKind" use="optional"/> <xs:attribute name="host" type="xs:normalizedString" use="optional"/> <xs:attribute name="userID" type="xs:normalizedString" use="optional"/> <xs:attribute name="password" type="xs:normalizedString" use="optional"/> <xs:attribute name="regionEndpoint" type="xs:normalizedString" use="optional"/> <xs:attribute name="warehouse" type="xs:normalizedString" use="optional"/> <xs:attribute name="credentialsPath" type="xs:normalizedString" use="optional"/> <xs:attribute name="useSSL" type="xs:boolean" use="optional" default="false"/> <xs:attribute name="trustServerCertificate" type="xs:boolean" use="optional" default="false"/> <xs:attribute name="certificateFilePath" type="xs:normalizedString" use="optional"/> <xs:attribute name="sslClientLabel" type="xs:normalizedString" use="optional"/> <xs:attribute name="sslClientKeystoreDbPath" type="xs:normalizedString" use="optional"/> <xs:attribute name="sslClientKeystashPath" type="xs:normalizedString" use="optional"/> <xs:attribute name="sslClientKeystoreDbPassword" type="xs:normalizedString" use="optional"/> <xs:attribute name="enableColumnEncryption" type="xs:boolean" use="optional" default="false"/> </xs:attributeGroup> <xs:complexType name="ConnectionType"> <xs:attributeGroup ref="ConnectionParameters"/> </xs:complexType> <xs:complexType name="ManualMatchingRuleType"> <xs:attribute name="sourceObjectTypeMask" type="xs:normalizedString" use="required"/> <xs:attribute name="targetObjectTypeMask" type="xs:normalizedString" use="required"/> <xs:attribute name="sourceObjectsList" type="xs:normalizedString" use="required"/> <xs:attribute name="targetObjectsList" type="xs:normalizedString" use="required"/> </xs:complexType> <xs:complexType name="FilterRuleType"> <xs:simpleContent> <xs:extension base="xs:normalizedString"> <xs:attribute name="side" type="OperationSide" use="required"/> <xs:attribute name="metadataObjectType" type="xs:normalizedString" use="required"/> <xs:attribute name="mode" type="FilterMode" use="required"/> <xs:attribute name="action" type="FilterAction" use="required"/> <xs:attribute name="importNamesFromFile" type="xs:boolean" use="optional" default="false"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="CategoryRuleType"> <xs:attribute name="sourceCategoriesList" type="xs:normalizedString" use="required"/> <xs:attribute name="targetCategoriesList" type="xs:normalizedString" use="required"/> </xs:complexType> <xs:complexType name="NameConversionRuleType"> <xs:attribute name="sourceObjectType" type="xs:normalizedString" use="required"/> <xs:attribute name="targetObjectType" type="xs:normalizedString" use="required"/> <xs:attribute name="sourcePattern" type="xs:normalizedString" use="required"/> <xs:attribute name="targetReplacement" type="xs:normalizedString" use="required"/> </xs:complexType> <xs:complexType name="MatchingRulesType"> <xs:sequence> <xs:element name="ManualMatchingRule" type="ManualMatchingRuleType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="FilterRule" type="FilterRuleType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="CategoryRule" type="CategoryRuleType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="NameConversionRule" type="NameConversionRuleType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="PreferencesType"> <xs:sequence> <xs:element name="Add" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="side" type="OperationSide" use="required"/> <xs:attribute name="parent" type="xs:normalizedString" use="optional"/> <xs:attribute name="name" type="xs:normalizedString" use="required"/> <xs:attribute name="value" type="xs:normalizedString" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="DataType"> <xs:attribute name="name" type="xs:normalizedString" use="required"/> <xs:attribute name="length" type="xs:normalizedString" use="optional"/> <xs:attribute name="precision" type="xs:normalizedString" use="optional"/> <xs:attribute name="scale" type="xs:normalizedString" use="optional"/> </xs:complexType> <xs:complexType name="TypeMappingInfo"> <xs:sequence> <xs:element name="TypePair" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="LeftType" type="DataType"/> <xs:element name="RightType" type="DataType"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="type" type="TypeMapping" use="optional"/> </xs:complexType> <xs:group name="PreferencesGroup"> <xs:sequence> <xs:element name="MatchingRules" type="MatchingRulesType" minOccurs="0" maxOccurs="1"/> <xs:element name="Preferences" type="PreferencesType" minOccurs="0" maxOccurs="1"/> <xs:element name="TypeMapping" type="TypeMappingInfo" minOccurs="0" maxOccurs="3"/> </xs:sequence> </xs:group> <xs:complexType name="ExportInfo"> <xs:attribute name="path" type="xs:normalizedString" use="optional" default="auto"/> <xs:attribute name="append" type="xs:boolean" use="optional" default="false"/> <xs:attribute name="type" type ="ReportType" use="optional"/> </xs:complexType> <xs:complexType name="ExecuteSqlType"> <xs:simpleContent> <xs:extension base="xs:normalizedString"> <xs:attribute name="side" type="OperationSide" use="required"/> <xs:attribute name="database" type="xs:normalizedString" use="optional"/> <xs:attribute name="path" type="xs:normalizedString" use="optional"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="OperationData"> <xs:sequence> <xs:group ref="PreferencesGroup" minOccurs="0" maxOccurs="1"/> <xs:element name="Export" type="ExportInfo" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="name" type="OperationNameType" use="required"/> <xs:attribute name="sourceScope" type="xs:normalizedString" use="required"/> <xs:attribute name="targetScope" type="xs:normalizedString" use="required"/> </xs:complexType> <xs:group name="Operations"> <xs:sequence> <xs:choice minOccurs="1" maxOccurs="unbounded"> <xs:element name="ExecuteSql" type="ExecuteSqlType"/> <xs:element name="Operation" type="OperationData"/> </xs:choice> </xs:sequence> </xs:group> <xs:complexType name="DatabaseCompareSuiteScenarioType"> <xs:sequence> <xs:element name="Connection" type="ConnectionType" minOccurs="1" maxOccurs="2"/> <xs:choice minOccurs="0" maxOccurs="1"> <xs:group ref="PreferencesGroup"/> <xs:element name="OpenProject" type="xs:normalizedString"/> </xs:choice> <xs:group ref="Operations" minOccurs="1" maxOccurs="1"/> </xs:sequence> <xs:attribute name="version" type="xs:normalizedString" use="optional"/> <xs:attribute name="waitForExit" type="xs:boolean" use="optional" default="false"/> </xs:complexType> <xs:element name="DatabaseCompareSuiteScenario" type="DatabaseCompareSuiteScenarioType"/> </xs:schema>
Didn’t find the answer?
You can report problems, ask questions or share ideas for improvements on our email [email protected].