ChangeSet
Contains a set of JSchemaChange objects for a particular instance of Joomla.
Each of these objects contains a DDL query that should have been run against the database when this database was created or updated. This enables the Installation Manager to check that the current database schema is up to date.
since |
2.5 |
---|
Methods
__construct
Constructor: builds array of $changeItems by processing the .sql files in a folder.
__construct(\JDatabaseDriver $db, string $folder = null)
The folder for the Joomla core updates is administrator/components/com_admin/sql/updates/<database>
.
since |
2.5 |
---|
Arguments
- $db
\JDatabaseDriver
The current database object- $folder
string
The full path to the folder containing the update queries
check
Checks the database and returns an array of any errors found.
check() : array
Note these are not database errors but rather situations where the current schema is not up to date.
since |
2.5 |
---|
Response
array
Array of errors if any.
fix
Runs the update query to apply the change to the database
fix() : void
since |
2.5 |
---|
getInstance
Returns a reference to the ChangeSet object, only creating it if it doesn't already exist.
getInstance(\JDatabaseDriver $db, string $folder = null) : \Joomla\CMS\Schema\ChangeSet
since |
2.5 |
---|
Arguments
- $db
\JDatabaseDriver
The current database object- $folder
string
The full path to the folder containing the update queries
Response
getSchema
Gets the current database schema, based on the highest version number.
getSchema() : string
Note that the .sql files are named based on the version and date, so the file name of the last file should match the database schema version in the #__schemas table.
since |
2.5 |
---|
Response
string
the schema version for the database
getStatus
Returns an array of results for this set
getStatus() : array
since |
2.5 |
---|
Response
array
associative array of changeitems grouped by unchecked, ok, error, and skipped
getUpdateFiles
Get list of SQL update files for this database
getUpdateFiles() : array
since |
2.5 |
---|
Response
array
list of sql update full-path names
getUpdateQueries
Get array of SQL queries
getUpdateQueries(array $sqlfiles) : array
since |
2.5 |
---|
Arguments
- $sqlfiles
array
Array of .sql update filenames.
Response
array
Array of \stdClass objects where:
file=filename,
update_query = text of SQL update query
Properties
changeItems
Array of ChangeItem objects
folder
Folder where SQL update files will be found
since |
2.5 |
---|
Type(s)
string
instance
The singleton instance of this object