Data Sync Locally on Device

    Description — Couchbase Lite Database Sync - Synchronize changes between databases on the same device
    Related Content — Remote Sync Gateway | Peer-to-Peer Sync

    Overview

    Couchbase Lite supports replication between two local databases at the database, scope, or collection level. This allows a Couchbase Lite replicator to store data on secondary storage. It is useful in scenarios when a user’s device is damaged and its data is moved to a different device.

    Example 1. Replication between Local Databases
    • Kotlin

    • Java

    // This is an Enterprise feature:
    // the code below will generate a compilation error
    // if it's compiled against CBL Android Community Edition.
    // Note: the target database must already contain the
    //       source collections or the replication will fail.
    val repl = Replicator(
        ReplicatorConfigurationFactory.newConfig(
            collections = CollectionConfiguration.fromCollections(srcCollections),
            target = DatabaseEndpoint(targetDb),
            type = ReplicatorType.PUSH
        )
    )
    
    // Start the replicator
    // (be sure to hold a reference somewhere that will prevent it from being GCed)
    repl.start()
    thisReplicator = repl
    // This is an Enterprise feature:
    // the code below will generate a compilation error
    // if it's compiled against CBL Android Community Edition.
    // Note: the target database must already contain the
    //       source collections or the replication will fail.
    final Replicator repl = new Replicator(
            new ReplicatorConfiguration(CollectionConfiguration.fromCollections(srcCollections), new DatabaseEndpoint(targetDb))
                    .setType(ReplicatorType.PUSH)
    );
    
    // Start the replicator
    // (be sure to hold a reference somewhere that will prevent it from being GCed)
    repl.start();
    thisReplicator = repl;