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.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