SqlsrvChangeItem
Extends ChangeItemChecks the database schema against one SQL Server DDL query to see if it has been run.
since |
2.5 |
---|---|
package |
Joomla CMS |
Methods
__construct
Constructor: builds check query and message from $updateQuery
__construct(\Joomla\Database\DatabaseDriver db, string file, string query) : mixed
since |
2.5 |
---|
Arguments
- db
\Joomla\Database\DatabaseDriver
Database connector object- file
string
Full path name of the sql file- query
string
Text of the sql query (one line of the file)
Response
mixed
buildCheckQuery
Checks a DDL query to see if it is a known type If yes, build a check query to see if the DDL has been run on the database.
buildCheckQuery() : void
If successful, the $msgElements, $queryType, $checkStatus and $checkQuery fields are populated. The $msgElements contains the text to create the user message. The $checkQuery contains the SQL query to check whether the schema change has been run against the current database. The $queryType contains the type of DDL query that was run (for example, CREATE_TABLE, ADD_COLUMN, CHANGE_COLUMN_TYPE, ADD_INDEX). The $checkStatus field is set to zero if the query is created
If not successful, $checkQuery is empty and , and $checkStatus is -1. For example, this will happen if the current line is a non-DDL statement.
since |
2.5 |
---|
check
Runs the check query and checks that 1 row is returned
check() : int
since |
2.5 |
---|
Response
int
1 if success, -1 if skipped, -2 if check failed
fix
Runs the update query to apply the change to the database
fix() : void
since |
2.5 |
---|
fixInteger
Fix up integer. Fixes problem with MySQL integer descriptions.
fixInteger(string type1, string type2) : string
If you change a column to "integer unsigned" it shows as "int(10) unsigned" in the check query.
since |
2.5 |
---|
Arguments
- type1
string
the column type- type2
string
the column attributes
Response
string
The original or changed column type.
fixQuote
Fixes up a string for inclusion in a query.
fixQuote(string string) : string
Replaces name quote character with normal quote for literal. Drops trailing semicolon. Injects the database prefix.
since |
2.5 |
---|
Arguments
- string
string
The input string to be cleaned up.
Response
string
The modified string.
getInstance
Returns a reference to the ChangeItem object.
getInstance(\Joomla\Database\DatabaseDriver db, string file, string query) : \Joomla\CMS\Schema\ChangeItem
since |
2.5 |
---|---|
throws |
|
Arguments
- db
\Joomla\Database\DatabaseDriver
Database connector object- file
string
Full path name of the sql file- query
string
Text of the sql query (one line of the file)
Response
\Joomla\CMS\Schema\ChangeItem
instance based on the database driver
Properties
updateQuery
Update query: query used to change the db schema (one line from the file)
checkQueryExpected
Check query result: expected result of check query if database is up to date
db
DatabaseDriver object
since |
2.5 |
---|
Type(s)
\Joomla\Database\DatabaseDriver
queryType
Query type: To be used in building a language key for a message to tell user what was checked / changed Possible values: ADD_TABLE, ADD_COLUMN, CHANGE_COLUMN_TYPE, ADD_INDEX
msgElements
Array with values for use in a Text::sprintf statement indicating what was checked
Tells you what the message should be, based on which elements are defined, as follows: For ADD_TABLE: table For ADD_COLUMN: table, column For CHANGE_COLUMN_TYPE: table, column, type For ADD_INDEX: table, index
since |
2.5 |
---|
Type(s)
array