Backup Limitations

Skyvia performs backup and restore operations via API, provided by data sources, and thus, is sometimes limited to the corresponding API functionality. Here are Skyvia Backup limitations you need to consider:


Read-only Tables

In some of the supported data sources, some tables are read-only. For example, in Salesforce, the objects with name ending with "Feed" or "History" are read-only. Skyvia can back up such tables, but it cannot restore data to such tables, since they are read-only.


Polymorphic Relations

Some cloud applications have polymorphic relations - foreign keys when the same foreign key field can reference different kinds of objects. For example, in Salesforce the OwnerId field of the Case object can reference User or Contact object. Skyvia does not allow navigating such relations on the Record Details Page and does not display the related records by such relations.

Additionally, in some cases Skyvia cannot restore such relations in a data source when performing a restore operation. It can restore such relations only if the corresponding foreign key field is not required (can have NULL values) and is updatable. For example, Skyvia cannot restore relations of the Dynamics CRM Connections table that has polymorphic relations on the record1id and record2id fields, which are required.


Relation Cycles

Skyvia does not fully support restoring relations in case the relations between backed up objects are cyclic.

For example, you back up objects A, B, and C. The A object has a reference (foreign key) to B, B has a reference to C, and C has a reference back to A. When Skyvia restores data with such cyclic foreign keys, it omits one of the keys to break the cycle. If there are multiple cycles, Skyvia may omit multiple foreign keys when restoring data.

This happens regardless of the number of objects in a cycle. The only exception is a cycle of one object, when the object references itself (for example, an account references a parent account). Skyvia supports restoring such relations.

A foreign key to break is selected automatically, based on objects and foreign keys structure. The only way to mitigate this limitation is to manually exclude fields of foreign keys that you prefer to break from the backup. In this way you can choose which relation from the cycle not to restore, instead of the automatic Skyvia choice. For this, edit the package, click the edit task link for the corresponding object and clear the check box for the corresponding foreign key field.


Composite Primary Keys

In some cloud applications, objects can have composite primary keys (which consist of multiple fields) instead of a single id field. Skyvia does not support restoring data to such objects and comparing data of such objects between backups for different dates. As a workaround, you may try to create a Backup Connection and use a custom Import Package to restore data.