Introduction to the Schema Module
The Schema module provides a high level database-independent API for working with database schemas; it uses the SqlUtil module to provide the middle and low-level schema management logic from a database-independent representation of a database schema.
To use this module, use "%requires Schema" in your code.
All the public symbols in the module are defined in the Schema namespace.
Classes provided by this module:
- AbstractSchema: base class for schema representation and management
 
- AbstractVersionedSchema: base class for versioned schema representation and management where the schema contains its current version
 
Schema Module Release History
Schema Module v1.3.1
- fixed a bug where too little information was passed to post schema alignment code (issue 3640)
 
Schema Module v1.3
- improved logging output when performing schema alignments (issue 3114)
 
- fixed AbstractSchema::checkExistence() (issue 3266)
 
Schema Module v1.2
- added the following public functions: (issue 1851)
 
- updated for complex types
 
Schema Module v1.1.1
- applied the force option (i.e. cascade) when aligning schemas (issue 1314)
 
Schema Module v1.1
- added the following public functions:
 
- added the following public constants:
 
- bug fixes:
- fixed AbstractSchema::combineOptions() to accept NOTHING as well as a valid option hash
 
- fixed a bug with "insert-only reference data" with the verbose option; the upsert strategy was changed to 
UpsertSelectFirst which means that insert-only reference data could also be updated 
- fixed a bug where it was not possible to provide Database options when creating schemas (bug 501)
 
 
Schema Module v1.0