Apache Zeta Components Manual :: Docs For Class ezcDbSchemaMysqlWriter
DatabaseSchema::ezcDbSchemaMysqlWriter
Class ezcDbSchemaMysqlWriter
Handler for storing database schemas and applying differences that uses MySQL as backend.
Source for this file: /DatabaseSchema/src/handlers/mysql/writer.php
Implements interfaces:
ezcDbSchemaCommonSqlWriter | --ezcDbSchemaMysqlWriter
Version: | //autogentag// |
Inherited Member Variables
From ezcDbSchemaCommonSqlWriter | |
---|---|
protected |
ezcDbSchemaCommonSqlWriter::$queries
|
protected |
ezcDbSchemaCommonSqlWriter::$schema
|
Method Summary
public void |
applyDiffToDb(
$db
, $dbSchemaDiff
)
Applies the differences defined in $dbSchemaDiff to the database referenced by $db. |
public array(string) |
convertDiffToDDL(
$dbSchemaDiff
)
Returns the differences definition in $dbSchema as database specific SQL DDL queries. |
protected string |
convertFromGenericType(
$fieldDefinition
)
Converts the generic field type contained in $fieldDefinition to a database specific field definition. |
protected void |
generateAddFieldSql(
$tableName
, $fieldName
, $fieldDefinition
)
Adds a "alter table" query to add the field $fieldName to $tableName with the definition $fieldDefinition. |
protected void |
generateAddIndexSql(
$tableName
, $indexName
, $indexDefinition
)
Adds a "alter table" query to add the index $indexName to the table $tableName with definition $indexDefinition to the internal list of queries |
protected void |
generateChangeFieldSql(
$tableName
, $fieldName
, $fieldDefinition
)
Adds a "alter table" query to change the field $fieldName to $tableName with the definition $fieldDefinition. |
protected void |
generateCreateTableSql(
$tableName
, $tableDefinition
)
Adds a "create table" query for the table $tableName with definition $tableDefinition to the internal list of queries. |
protected string |
generateCreateTableSqlStatement(
$tableName
)
Returns a "CREATE TABLE" SQL statement part for the table $tableName. |
protected void |
generateDiffSchemaTableAsSql(
$tableName
, $tableDiff
)
Generates queries to upgrade a the table $tableName with the differences in $tableDiff. |
protected void |
generateDropFieldSql(
$tableName
, $fieldName
)
Adds a "alter table" query to drop the field $fieldName from $tableName. |
protected void |
generateDropIndexSql(
$tableName
, $indexName
)
Adds a "alter table" query to remote the index $indexName from the table $tableName to the internal list of queries. |
protected void |
generateDropTableSql(
$tableName
)
Adds a "drop table" query for the table $tableName to the internal list of queries. |
protected string |
generateFieldSql(
$fieldName
, $fieldDefinition
)
Returns a column definition for $fieldName with definition $fieldDefinition. |
public int |
getDiffWriterType(
)
Returns what type of schema difference writer this class implements. |
public int |
getWriterType(
)
Returns what type of schema writer this class implements. |
Inherited Methods
From ezcDbSchemaCommonSqlWriter | |
---|---|
public array(string) |
ezcDbSchemaCommonSqlWriter::convertToDDL()
Returns an array with SQL DDL statements that creates the database definition in $dbSchema |
protected abstract void |
ezcDbSchemaCommonSqlWriter::generateAddFieldSql()
Adds a "alter table" query to add the field $fieldName to $tableName with the definition $fieldDefinition. |
protected abstract void |
ezcDbSchemaCommonSqlWriter::generateAddIndexSql()
Adds a "alter table" query to add the index $indexName to the table $tableName with definition $indexDefinition to the internal list of queries |
protected abstract void |
ezcDbSchemaCommonSqlWriter::generateChangeFieldSql()
Adds a "alter table" query to change the field $fieldName to $tableName with the definition $fieldDefinition. |
protected void |
ezcDbSchemaCommonSqlWriter::generateCreateTableSql()
Adds a "create table" query for the table $tableName with definition $tableDefinition to the internal list of queries. |
protected string |
ezcDbSchemaCommonSqlWriter::generateCreateTableSqlStatement()
Returns a "CREATE TABLE" SQL statement part for the table $tableName. |
protected string |
ezcDbSchemaCommonSqlWriter::generateDefault()
Returns an appropriate default value for $type with $value. |
protected void |
ezcDbSchemaCommonSqlWriter::generateDiffSchemaAsSql()
Generates queries to upgrade an existing database with the changes stored in $this->diffSchema. |
protected void |
ezcDbSchemaCommonSqlWriter::generateDiffSchemaTableAsSql()
Generates queries to upgrade a the table $tableName with the differences in $tableDiff. |
protected abstract void |
ezcDbSchemaCommonSqlWriter::generateDropFieldSql()
Adds a "alter table" query to drop the field $fieldName from $tableName. |
protected abstract void |
ezcDbSchemaCommonSqlWriter::generateDropIndexSql()
Adds a "alter table" query to remote the index $indexName from the table $tableName to the internal list of queries. |
protected abstract void |
ezcDbSchemaCommonSqlWriter::generateDropTableSql()
Adds a "drop table" query for the table $tableName to the internal list of queries. |
protected abstract string |
ezcDbSchemaCommonSqlWriter::generateFieldSql()
Returns a column definition for $fieldName with definition $fieldDefinition. |
protected void |
ezcDbSchemaCommonSqlWriter::generateSchemaAsSql()
Creates SQL DDL statements from a schema definitin. |
public int |
ezcDbSchemaCommonSqlWriter::getWriterType()
Returns what type of schema writer this class implements. |
public boolean |
ezcDbSchemaCommonSqlWriter::isQueryAllowed()
Checks if the query is allowed. |
public void |
ezcDbSchemaCommonSqlWriter::saveToDb()
Creates the tables contained in $schema in the database that is related to $db |
Methods
applyDiffToDb
Applies the differences defined in $dbSchemaDiff to the database referenced by $db.
This method uses convertDiffToDDL to create SQL for the differences and then executes the returned SQL statements on the database handler $db.
Parameters:
Name | Type | Description |
---|---|---|
$db |
ezcDbHandler | |
$dbSchemaDiff |
ezcDbSchemaDiff |
Implementation of:
Method | Description |
---|---|
ezcDbSchemaDiffDbWriter::applyDiffToDb() |
Applies the differences contained in $schemaDiff to the database handler $db |
convertDiffToDDL
Returns the differences definition in $dbSchema as database specific SQL DDL queries.
Parameters:
Name | Type | Description |
---|---|---|
$dbSchemaDiff |
ezcDbSchemaDiff |
Implementation of:
Method | Description |
---|---|
ezcDbSchemaDiffDbWriter::convertDiffToDDL() |
Returns an array with SQL DDL statements from the differences from $schemaDiff |
convertFromGenericType
Converts the generic field type contained in $fieldDefinition to a database specific field definition.
Parameters:
Name | Type | Description |
---|---|---|
$fieldDefinition |
ezcDbSchemaField |
generateAddFieldSql
Adds a "alter table" query to add the field $fieldName to $tableName with the definition $fieldDefinition.
Parameters:
Name | Type | Description |
---|---|---|
$tableName |
string | |
$fieldName |
string | |
$fieldDefinition |
ezcDbSchemaField |
Redefinition of:
Method | Description |
---|---|
ezcDbSchemaCommonSqlWriter::generateAddFieldSql() |
Adds a "alter table" query to add the field $fieldName to $tableName with the definition $fieldDefinition. |
generateAddIndexSql
Adds a "alter table" query to add the index $indexName to the table $tableName with definition $indexDefinition to the internal list of queries
Parameters:
Name | Type | Description |
---|---|---|
$tableName |
string | |
$indexName |
string | |
$indexDefinition |
ezcDbSchemaIndex |
Redefinition of:
Method | Description |
---|---|
ezcDbSchemaCommonSqlWriter::generateAddIndexSql() |
Adds a "alter table" query to add the index $indexName to the table $tableName with definition $indexDefinition to the internal list of queries |
generateChangeFieldSql
Adds a "alter table" query to change the field $fieldName to $tableName with the definition $fieldDefinition.
Parameters:
Name | Type | Description |
---|---|---|
$tableName |
string | |
$fieldName |
string | |
$fieldDefinition |
ezcDbSchemaField |
Redefinition of:
Method | Description |
---|---|
ezcDbSchemaCommonSqlWriter::generateChangeFieldSql() |
Adds a "alter table" query to change the field $fieldName to $tableName with the definition $fieldDefinition. |
generateCreateTableSql
Adds a "create table" query for the table $tableName with definition $tableDefinition to the internal list of queries.
Parameters:
Name | Type | Description |
---|---|---|
$tableName |
string | |
$tableDefinition |
ezcDbSchemaTable |
Redefinition of:
Method | Description |
---|---|
ezcDbSchemaCommonSqlWriter::generateCreateTableSql() |
Adds a "create table" query for the table $tableName with definition $tableDefinition to the internal list of queries. |
generateCreateTableSqlStatement
Returns a "CREATE TABLE" SQL statement part for the table $tableName.
Parameters:
Name | Type | Description |
---|---|---|
$tableName |
string |
Redefinition of:
Method | Description |
---|---|
ezcDbSchemaCommonSqlWriter::generateCreateTableSqlStatement() |
Returns a "CREATE TABLE" SQL statement part for the table $tableName. |
generateDiffSchemaTableAsSql
Generates queries to upgrade a the table $tableName with the differences in $tableDiff.
This method generates queries to migrate a table to a new version with the changes that are stored in the $tableDiff property. It will call different subfunctions for the different types of changes, and those functions will add queries to the internal list of queries that is stored in $this->queries.
Parameters:
Name | Type | Description |
---|---|---|
$tableName |
string | |
$tableDiff |
ezcDbSchemaTableDiff |
Redefinition of:
Method | Description |
---|---|
ezcDbSchemaCommonSqlWriter::generateDiffSchemaTableAsSql() |
Generates queries to upgrade a the table $tableName with the differences in $tableDiff. |
generateDropFieldSql
Adds a "alter table" query to drop the field $fieldName from $tableName.
Parameters:
Name | Type | Description |
---|---|---|
$tableName |
string | |
$fieldName |
string |
Redefinition of:
Method | Description |
---|---|
ezcDbSchemaCommonSqlWriter::generateDropFieldSql() |
Adds a "alter table" query to drop the field $fieldName from $tableName. |
generateDropIndexSql
Adds a "alter table" query to remote the index $indexName from the table $tableName to the internal list of queries.
Parameters:
Name | Type | Description |
---|---|---|
$tableName |
string | |
$indexName |
string |
Redefinition of:
Method | Description |
---|---|
ezcDbSchemaCommonSqlWriter::generateDropIndexSql() |
Adds a "alter table" query to remote the index $indexName from the table $tableName to the internal list of queries. |
generateDropTableSql
Adds a "drop table" query for the table $tableName to the internal list of queries.
Parameters:
Name | Type | Description |
---|---|---|
$tableName |
string |
Redefinition of:
Method | Description |
---|---|
ezcDbSchemaCommonSqlWriter::generateDropTableSql() |
Adds a "drop table" query for the table $tableName to the internal list of queries. |
generateFieldSql
Returns a column definition for $fieldName with definition $fieldDefinition.
Parameters:
Name | Type | Description |
---|---|---|
$fieldName |
string | |
$fieldDefinition |
ezcDbSchemaField |
Redefinition of:
Method | Description |
---|---|
ezcDbSchemaCommonSqlWriter::generateFieldSql() |
Returns a column definition for $fieldName with definition $fieldDefinition. |
getDiffWriterType
Returns what type of schema difference writer this class implements.
This method always returns ezcDbSchema::DATABASE
Implementation of:
Method | Description |
---|---|
ezcDbSchemaDiffWriter::getDiffWriterType() |
Returns what type of schema difference writer this class implements. |
getWriterType
Returns what type of schema writer this class implements.
This method always returns ezcDbSchema::DATABASE
Redefinition of:
Method | Description |
---|---|
ezcDbSchemaCommonSqlWriter::getWriterType() |
Returns what type of schema writer this class implements. |
Implementation of:
Method | Description |
---|---|
ezcDbSchemaWriter::getWriterType() |
Returns what type of schema writer this class implements. |