Organize Data Into Buckets

To synchronize different sets of data to each user, data is organized into buckets.

Each user can sync a number of buckets (up to 1,000), and each bucket defines a set of tables and rows to sync.

This is defined using two queries:

  1. Select bucket parameters from a user ID and/or other parameters (parameter queries)

  2. Select data in the bucket using the bucket parameters (data queries)

When designing your buckets, it is recommended, but not required, to group all data in a bucket where the same parameters apply.

An example:

Note: An improved syntax for token parameters and additional functionality is currently being rolled out. These examples will be updated soon.

Learn about the changes here - we recommend using the new syntax.

bucket_definitions:
  by_user:
    # Select parameters for the bucket, using the current user_id
    parameters: SELECT token_parameters.user_id as user_id
    data:
      # Select data rows using the parameters above
      - SELECT * FROM lists WHERE owner_id = bucket.user_id

Note: Table names within sync rules must match the names defined in the client-side schema.

Last updated