SqlsrvChangeItem
Extends ChangeItemChecks the database schema against one SQL Server DDL query to see if it has been run.
since |
2.5 |
---|---|
deprecated |
4.3 will be removed in 6.0 Will be removed without replacement |
package |
Joomla CMS |
Methods
__construct
Constructor: builds check query and message from $updateQuery
__construct(\Joomla\Database\DatabaseDriver db, file, query) :
since |
2.5 |
---|
Arguments
- db
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() :
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 |
---|
Response
void
check
Runs the check query and checks that 1 row is returned
check() :
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() :
since |
2.5 |
---|
Response
void
fixInteger
Fix up integer. Fixes problem with MySQL integer descriptions.
fixInteger( type1, type2) :
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) :
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, file, query) : \Joomla\CMS\Schema\ChangeItem
since |
2.5 |
---|---|
throws |
|
Arguments
- db
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
ChangeItem
instance based on the database driver
Properties
file
Update file: full path file name where query was found
since |
2.5 |
---|
Type(s)
string
updateQuery
Update query: query used to change the db schema (one line from the file)
since |
2.5 |
---|
Type(s)
string
checkQuery
Check query: query used to check the db schema
since |
2.5 |
---|
Type(s)
string
checkQueryExpected
Check query result: expected result of check query if database is up to date
since |
2.5 |
---|
Type(s)
string
db
DatabaseDriver object
since |
2.5 |
---|
Type(s)
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
since |
2.5 |
---|
Type(s)
string
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<string|int, mixed>
checkStatus
Checked status
since |
2.5 |
---|
Type(s)
int
rerunStatus
Rerun status
since |
2.5 |
---|
Type(s)
int