Skyvia replication operation is used to create a copy of cloud application data in a relational database and keep it up-to-date. When performing replication, you define application objects and their fields to copy and configure replication options. Unlike Import, replication does not support loading data of different structure in source and in target and using any custom mapping; however, it is much simpler to configure.
Replication can be used when you need to backup cloud application data to a relational database, archiving or historical data that is no more a subject to change and is not needed in the cloud application. It can be useful in different data integration scenarios, or just for performing data analysis and reporting with powerful data analysis and reporting tools, developed for relational databases.
Skyvia can create corresponding database tables automatically with optional foreign keys, and, if necessary, drop existing tables before creating. It allows you to filter data to replicate.
Skyvia doesn't create foreign keys, corresponding to many-to-many CRM object relations, in the database.
For more information see the replication tutorial - Setting Up Replication of Salesforce Accounts and Contacts to SQL Azure.
If you need to keep the copy in the database up-to-date, you can schedule package for automatic execution and use the Incremental Updates feature, which allows copying only the data that was changed in the cloud CRM since the last package execution, and then applying only the necessary changes to the database. In case the Incremental Updates check box is selected, table creation and dropping is performed only for the first package run if the corresponding check boxes are selected. See Replication Package, the Replication Package Settings in Details section, for more information.
Note that in some sources Incremental updates are not supported for some of the objects. For incremental updates, an object must have fields, storing its creation and modification time. See details for each source in the Connections section. Both fields with the creation and modification time must be present. (The only exception is G Suite, for it one Updated field is enough).
If you select objects without such fields in a replication package, the result depends on whether you replicate data to a database (like SQL Server, SQL Azure, MySQL, etc.) or a cloud data warehouse - Amazon Redshift, Azure SQL Data Warehouse, or Google BigQuery. A package, replicating data to a database, will not run. When running such a package, you will get an error that the source object does not have the corresponding column.
A package, replicating data to a data warehouse will run successfully and load data. However:
For some data sources Skyvia deletes a record from the database when a record is deleted in the cloud source when incremental updates are enabled. This feature is supported only for data sources and objects, for which Skyvia can obtain the information about deleted records. For example, replication applies deletes for soft deleted records in Salesforce (but not hard deleted records), or for deleted records in Dynamics CRM if audit is enabled for them.