MysqlChangeItem
扩展自 ChangeItem检查数据库模式是否已针对一个 MySQL DDL 查询运行。
自 |
2.5 |
---|---|
包 |
Joomla CMS |
方法
__construct
构造函数:根据 $updateQuery 构建检查查询和消息
__construct(\Joomla\Database\DatabaseDriver db, file, query) :
自 |
2.5 |
---|
参数
- db
DatabaseDriver
数据库连接器对象- file
string
SQL 文件的完整路径名称- query
string
SQL 查询的文本(文件的一行)
响应
混合
buildCheckQuery
检查 DDL 查询是否为已知类型,如果是,则构建一个检查查询以查看 DDL 是否已在数据库上运行。
buildCheckQuery() :
如果成功,则填充 $msgElements、$queryType、$checkStatus 和 $checkQuery 字段。$msgElements 包含创建用户消息的文本。$checkQuery 包含用于检查模式更改是否已针对当前数据库运行的 SQL 查询。$queryType 包含已运行的 DDL 查询的类型(例如,CREATE_TABLE、ADD_COLUMN、CHANGE_COLUMN_TYPE、ADD_INDEX)。如果创建查询,则 $checkStatus 字段设置为零
如果不成功,则 $checkQuery 为空,并且 $checkStatus 为 -1。例如,如果当前行是非 DDL 语句,则会发生这种情况。
自 |
2.5 |
---|
响应
空
check
运行检查查询并检查是否返回 1 行
check() :
自 |
2.5 |
---|
响应
int
如果成功则为 1,如果跳过则为 -1,如果检查失败则为 -2
checkDefault
为列更改/修改创建 DEFAULT 属性的查询子句
checkDefault(mixed||string|int changesArray, type) :
自 |
3.8.6 |
---|
参数
- changesArray
array<string|int, mixed>
COLUMN 名称后的单词数组- type
string
COLUMN 的类型
响应
string
检查查询中 DEFAULT 检查的查询子句
checkNull
为列更改/修改创建 NULL 属性的查询子句
checkNull(mixed||string|int changesArray) :
自 |
3.8.6 |
---|
参数
- changesArray
array<string|int, mixed>
COLUMN 名称后的单词数组
响应
string
检查查询中 NULL 检查的查询子句
fix
运行更新查询以将更改应用于数据库
fix() :
自 |
2.5 |
---|
响应
空
fixInteger
修复整数。修复 MySQL 整数描述的问题。
fixInteger( type1, type2) :
在 MySQL 8 中不再显示显示长度。这意味着我们必须匹配例如“int(10) unsigned”和“int unsigned”,或者“int(11)”和“int”等等。这同样适用于其他整数数据类型“tinyint”、“smallint”、“mediumint”和“bigint”。
自 |
2.5 |
---|
参数
- type1
string
列类型- type2
string
列属性
响应
string
原始或更改后的列类型。
fixQuote
修复要包含在查询中的字符串。
fixQuote( string) :
将名称引号字符替换为文字的普通引号。删除尾随分号。注入数据库前缀。
自 |
2.5 |
---|
参数
- 字符串
string
要清理的输入字符串。
响应
string
修改后的字符串。
fixUtf8mb4TypeChecks
使列更改/修改的检查查询能够容忍文本列的自动类型更改,例如从 TEXT 到 MEDIUMTEXT,在从 utf8 转换为 utf8mb4 后,并修复 MySQL 8 中没有显示长度的整数列(另请参见上面的“fixInteger”函数)。
fixUtf8mb4TypeChecks( type) :
自 |
3.5 |
---|
参数
- type
string
在更新查询中找到的列类型
响应
string
检查查询中类型检查的条件
getInstance
返回对 ChangeItem 对象的引用。
getInstance(\Joomla\Database\DatabaseDriver db, file, query) : \Joomla\CMS\Schema\ChangeItem
自 |
2.5 |
---|---|
抛出 |
|
参数
- db
DatabaseDriver
数据库连接器对象- file
string
SQL 文件的完整路径名称- query
string
SQL 查询的文本(文件的一行)
响应
ChangeItem
基于数据库驱动程序的实例
属性
file
更新文件:找到查询的完整路径文件名
自 |
2.5 |
---|
类型
字符串
updateQuery
更新查询:用于更改数据库模式的查询(文件的一行)
自 |
2.5 |
---|
类型
字符串
checkQuery
检查查询:用于检查数据库模式的查询
自 |
2.5 |
---|
类型
字符串
checkQueryExpected
检查查询结果:如果数据库是最新的,则检查查询的预期结果
自 |
2.5 |
---|
类型
字符串
db
DatabaseDriver 对象
自 |
2.5 |
---|
类型
DatabaseDriver
queryType
查询类型:用于构建语言键以生成消息,以告知用户已检查/更改的内容可能的值:ADD_TABLE、ADD_COLUMN、CHANGE_COLUMN_TYPE、ADD_INDEX
自 |
2.5 |
---|
类型
字符串
msgElements
包含用于 Text::sprintf 语句的值的数组,指示已检查的内容
根据定义的元素告知消息应该是什么,如下所示:对于 ADD_TABLE:表对于 ADD_COLUMN:表、列对于 CHANGE_COLUMN_TYPE:表、列、类型对于 ADD_INDEX:表、索引
自 |
2.5 |
---|
类型
array<string|int, mixed>
checkStatus
已检查状态
自 |
2.5 |
---|
类型
int
rerunStatus
重新运行状态
自 |
2.5 |
---|
类型
int