Versioning a Schema

To version a schema

  1. Perform one of the following actions.

    • In the Schema Browser, select the schema that you want to version and then select the Version command from the Schema menu. This is displayed as the Unversion command when the schema is currently versioned. For details about toggling schema versioning, see "Removing Versioning from a Schema".

    • Changing a property may cause the schema to be versioned and methods that reference this property to be versioned and recompiled. If those methods are in different schemas, those schemas are also versioned.

      For details about the other changes made to classes for which persistent instances exist that may version your schema and require reorganization of the database, see "Changes Requiring a Reorganization", in Chapter 14.

      When the schema is already versioned (as a result of a property change, for example), packages exported by a versioned schema may affect schemas importing that package, so the importing schemas may also be versioned and changing a method in an interface mapped to a class in a versioned schema versions the schema implementing the mapped method when the interface and class methods are compiled.

  2. A Warning box is then displayed, advising you that the operation versions the specified schema and prompting you to click the Yes button to continue with the schema versioning operation or the No button to abandon the operation.

Another (latest and uncommitted) version of that schema is then created, with the newly created latest version highlighted with a light green background, as shown in the following image.

The Schema Browser always shows versioned schemas. The latest schema, class, and interface versions are displayed with a default background color of light green in the respective browsers.

If the Warn when schemas are versioned check box on the Miscellaneous sheet of the Preferences dialog is checked, a Warning box is displayed to all users signed on to the JADE development environment who have a window open against the newly-versioned schema so that they can continue working in the current schema version or change to the latest (uncommitted) version.

Reorganizing all classes in a versioned schema updates the current (committed) schema version and removes the latest version.

Until no further classes in the versioned schema require reorganization and the current schema is updated, the Remove command in the Schema menu is disabled in latest version of the schema. However, if you remove the current version of a schema, the latest version is also removed, even though classes require reorganization.

If you intend to display a browser for both the current and the latest version context (that is, a composite view), you can select a JADE skin to decorate opened source windows in the latest version, to provide a distinction between current version and latest version windows.

By default, the Cashmere skin is used for the latest (uncommitted) version in windows and the Lincoln skin to for current (committed) version. (For details, see "Maintaining Miscellaneous Options", in Chapter 2 of the JADE Development Environment User’s Guide.)