Remote schemas

A synchronization model contains schema for a remote database. This schema can be obtained from an existing remote database or from the consolidated database.

Use an existing remote database in the following cases:

  • If you already have a remote database, especially if its schema is not a subset of the consolidated database schema.

  • If your consolidated and remote columns need to have different types.

  • If your remote tables need to have different owners from the tables on the consolidated database. For new SQL Anywhere remote schemas created from the consolidated database, the owner of the remote tables is the same as the owner of the corresponding consolidated database tables. If you want a different owner, you should use an existing SQL Anywhere remote database with table ownership you set up.

Note

You can manually change an existing database schema and then run the Update Schema Wizard to update the synchronization model in your MobiLink project. See Updating schemas.

When you deploy your model, you have three options for your remote database, regardless of how you created the remote schema in the model. Your deploy-time options for the remote database are:

  • Create a New Remote Database   Deployment can create a new remote database using the remote schema from the synchronization model. The database is created with default options.

  • Update an Existing Remote Database That Has No User Tables   If you deploy to an empty remote database, then the remote schema from the model is created in the database. This option is useful when you want to use non-default database creation options, such as collation.

    For SQL Anywhere databases, there are options that cannot be set after the database is created. See Remarks, Initialization utility (dbinit).

    For UltraLite databases, database properties cannot be changed after the database is created. See Specify UltraLite creation parameters.

  • Update an Existing Remote Database That Has a Schema Matching the Schema in the Model   This option is useful when you have an existing remote database that you want to synchronize. When you deploy directly to an existing remote database, no changes are made to any existing remote data. If you try to deploy directly to an existing remote database whose schema doesn't match the remote schema in the model, you are prompted to update the remote schema in the model.

For a SQL Anywhere remote database, tables have the same owners as the original database. UltraLite database tables do not have owners.

 See also