Moodle PHP Documentation 4.5
Moodle 4.5dev (Build: 20240606) (d3ae1391abe)
|
Loads and parses an XML file, creating an array of "ready-to-run" SQL statements. More...
Public Member Functions | |
__construct ( $db) | |
Creates an adoSchema object. | |
__construct ( $db) | |
Creates an adoSchema object. | |
ContinueOnError ( $mode=NULL) | |
Enables/disables SQL continue on error. | |
continueOnError ( $mode=NULL) | |
Enables/disables SQL continue on error. | |
ConvertSchemaFile ( $filename, $newVersion=NULL, $newFile=NULL) | |
Converts an XML schema file to the specified DTD version. | |
convertSchemaFile ( $filename, $newVersion=NULL, $newFile=NULL) | |
Converts an XML schema file to the specified DTD version. | |
ConvertSchemaString ( $schema, $newVersion=NULL, $newFile=NULL) | |
Converts an XML schema string to the specified DTD version. | |
convertSchemaString ( $schema, $newVersion=NULL, $newFile=NULL) | |
Converts an XML schema string to the specified DTD version. | |
Destroy () | |
Destroys an adoSchema object. | |
destroy () | |
Destroys an adoSchema object. | |
ExecuteInline ( $mode=NULL) | |
Enables/disables inline SQL execution. | |
executeInline ( $mode=NULL) | |
Enables/disables inline SQL execution. | |
ExecuteSchema ( $sqlArray=NULL, $continueOnErr=NULL) | |
Applies the current XML schema to the database (post execution). | |
executeSchema ( $sqlArray=NULL, $continueOnErr=NULL) | |
Applies the current XML schema to the database (post execution). | |
existingData ( $mode=NULL) | |
Specifies how to handle existing data row when there is a unique key conflict. | |
ExtractSchema ( $data=FALSE) | |
Extracts an XML schema from an existing database. | |
extractSchema ( $data=FALSE, $indent=' ', $prefix='', $stripprefix=false) | |
Extracts an XML schema from an existing database. | |
ParseSchema ( $filename, $returnSchema=FALSE) | |
Loads an XML schema from a file and converts it to SQL. | |
parseSchema ( $filename, $returnSchema=FALSE) | |
Loads an XML schema from a file and converts it to SQL. | |
ParseSchemaFile ( $filename, $returnSchema=FALSE) | |
Loads an XML schema from a file and converts it to SQL. | |
parseSchemaFile ( $filename, $returnSchema=FALSE) | |
Loads an XML schema from a file and converts it to SQL. | |
ParseSchemaString ( $xmlstring, $returnSchema=FALSE) | |
Converts an XML schema string to SQL. | |
parseSchemaString ( $xmlstring, $returnSchema=FALSE) | |
Converts an XML schema string to SQL. | |
PrintSQL ( $format='NONE') | |
Returns the current SQL array. | |
printSQL ( $format='NONE') | |
Returns the current SQL array. | |
RemoveSchema ( $filename, $returnSchema=FALSE) | |
Loads an XML schema from a file and converts it to uninstallation SQL. | |
removeSchema ( $filename, $returnSchema=FALSE) | |
Loads an XML schema from a file and converts it to uninstallation SQL. | |
RemoveSchemaString ( $schema, $returnSchema=FALSE) | |
Converts an XML schema string to uninstallation SQL. | |
removeSchemaString ( $schema, $returnSchema=FALSE) | |
Converts an XML schema string to uninstallation SQL. | |
SaveSQL ( $filename='./schema.sql') | |
Saves the current SQL array to the local filesystem as a list of SQL queries. | |
saveSQL ( $filename='./schema.sql') | |
Saves the current SQL array to the local filesystem as a list of SQL queries. | |
SchemaFileVersion ( $filename) | |
Returns the AXMLS Schema Version of the requested XML schema file. | |
schemaFileVersion ( $filename) | |
Returns the AXMLS Schema Version of the requested XML schema file. | |
SchemaStringVersion ( $xmlstring) | |
Returns the AXMLS Schema Version of the provided XML schema string. | |
schemaStringVersion ( $xmlstring) | |
Returns the AXMLS Schema Version of the provided XML schema string. | |
SetPrefix ( $prefix='', $underscore=TRUE) | |
Sets a prefix for database objects. | |
setPrefix ( $prefix='', $underscore=TRUE) | |
Sets a prefix for database objects. | |
SetUpgradeMethod ( $method='') | |
Sets the method to be used for upgrading an existing database. | |
setUpgradeMethod ( $method='') | |
Sets the method to be used for upgrading an existing database. | |
TransformSchema ( $schema, $xsl, $schematype='string') | |
transformSchema ( $schema, $xsl, $schematype='string') | |
Loads and parses an XML file, creating an array of "ready-to-run" SQL statements.
This class is used to load and parse the XML file, to create an array of SQL statements that can be used to build a database, and to build the database using the SQL array.
@tutorial getting_started.pkg
This class is used to load and parse the XML file, to create an array of SQL statements that can be used to build a database, and to build the database using the SQL array.
@tutorial getting_started.pkg
adoSchema::__construct | ( | $db | ) |
adoSchema::__construct | ( | $db | ) |
adoSchema::ContinueOnError | ( | $mode = NULL | ) |
Enables/disables SQL continue on error.
Call this method to enable or disable continuation of SQL execution if an error occurs. If the mode is set to TRUE (continue), AXMLS will continue to apply SQL to the database, even if an error occurs. If the mode is set to FALSE (halt), AXMLS will halt execution of generated sql if an error occurs, though parsing of the schema will continue.
bool | $mode | execute |
bool | current continueOnError mode |
adoSchema::continueOnError | ( | $mode = NULL | ) |
Enables/disables SQL continue on error.
Call this method to enable or disable continuation of SQL execution if an error occurs. If the mode is set to TRUE (continue), AXMLS will continue to apply SQL to the database, even if an error occurs. If the mode is set to FALSE (halt), AXMLS will halt execution of generated sql if an error occurs, though parsing of the schema will continue.
bool | $mode | execute |
bool | current continueOnError mode |
adoSchema::ConvertSchemaFile | ( | $filename, | |
$newVersion = NULL, | |||
$newFile = NULL ) |
Converts an XML schema file to the specified DTD version.
Call this method to convert the specified XML schema file to a different AXMLS DTD version. For instance, to convert a schema created for an pre-1.0 version for AXMLS (DTD version 0.1) to a newer version of the DTD (e.g. 0.2). If no DTD version parameter is specified, the schema will be converted to the current DTD version. If the newFile parameter is provided, the converted schema will be written to the specified file.
string | $filename | Name of XML schema file that will be converted. |
string | $newVersion | DTD version to convert to. |
string | $newFile | File name of (converted) output file. |
string | Converted XML schema or FALSE if an error occurs. |
adoSchema::convertSchemaFile | ( | $filename, | |
$newVersion = NULL, | |||
$newFile = NULL ) |
Converts an XML schema file to the specified DTD version.
Call this method to convert the specified XML schema file to a different AXMLS DTD version. For instance, to convert a schema created for an pre-1.0 version for AXMLS (DTD version 0.1) to a newer version of the DTD (e.g. 0.2). If no DTD version parameter is specified, the schema will be converted to the current DTD version. If the newFile parameter is provided, the converted schema will be written to the specified file.
string | $filename | Name of XML schema file that will be converted. |
string | $newVersion | DTD version to convert to. |
string | $newFile | File name of (converted) output file. |
string | Converted XML schema or FALSE if an error occurs. |
adoSchema::ConvertSchemaString | ( | $schema, | |
$newVersion = NULL, | |||
$newFile = NULL ) |
Converts an XML schema string to the specified DTD version.
Call this method to convert a string containing an XML schema to a different AXMLS DTD version. For instance, to convert a schema created for an pre-1.0 version for AXMLS (DTD version 0.1) to a newer version of the DTD (e.g. 0.2). If no DTD version parameter is specified, the schema will be converted to the current DTD version. If the newFile parameter is provided, the converted schema will be written to the specified file.
string | $schema | String containing XML schema that will be converted. |
string | $newVersion | DTD version to convert to. |
string | $newFile | File name of (converted) output file. |
string | Converted XML schema or FALSE if an error occurs. |
adoSchema::convertSchemaString | ( | $schema, | |
$newVersion = NULL, | |||
$newFile = NULL ) |
Converts an XML schema string to the specified DTD version.
Call this method to convert a string containing an XML schema to a different AXMLS DTD version. For instance, to convert a schema created for an pre-1.0 version for AXMLS (DTD version 0.1) to a newer version of the DTD (e.g. 0.2). If no DTD version parameter is specified, the schema will be converted to the current DTD version. If the newFile parameter is provided, the converted schema will be written to the specified file.
string | $schema | String containing XML schema that will be converted. |
string | $newVersion | DTD version to convert to. |
string | $newFile | File name of (converted) output file. |
string | Converted XML schema or FALSE if an error occurs. |
adoSchema::Destroy | ( | ) |
Destroys an adoSchema object.
Call this method to clean up after an adoSchema object that is no longer in use.
adoSchema::destroy | ( | ) |
Destroys an adoSchema object.
Call this method to clean up after an adoSchema object that is no longer in use.
adoSchema::ExecuteInline | ( | $mode = NULL | ) |
Enables/disables inline SQL execution.
Call this method to enable or disable inline execution of the schema. If the mode is set to TRUE (inline execution), AXMLS applies the SQL to the database immediately as each schema entity is parsed. If the mode is set to FALSE (post execution), AXMLS parses the entire schema and you will need to call adoSchema\ExecuteSchema() to apply the schema to the database.
bool | $mode | execute |
bool | current execution mode |
adoSchema::executeInline | ( | $mode = NULL | ) |
Enables/disables inline SQL execution.
Call this method to enable or disable inline execution of the schema. If the mode is set to TRUE (inline execution), AXMLS applies the SQL to the database immediately as each schema entity is parsed. If the mode is set to FALSE (post execution), AXMLS parses the entire schema and you will need to call adoSchema\ExecuteSchema() to apply the schema to the database.
bool | $mode | execute |
bool | current execution mode |
adoSchema::ExecuteSchema | ( | $sqlArray = NULL, | |
$continueOnErr = NULL ) |
Applies the current XML schema to the database (post execution).
Call this method to apply the current schema (generally created by calling ParseSchema() or ParseSchemaString() ) to the database (creating the tables, indexes, and executing other SQL specified in the schema) after parsing.
array | $sqlArray | Array of SQL statements that will be applied rather than the current schema. |
boolean | $continueOnErr | Continue to apply the schema even if an error occurs. |
adoSchema::executeSchema | ( | $sqlArray = NULL, | |
$continueOnErr = NULL ) |
Applies the current XML schema to the database (post execution).
Call this method to apply the current schema (generally created by calling parseSchema() or parseSchemaString() ) to the database (creating the tables, indexes, and executing other SQL specified in the schema) after parsing.
array | $sqlArray | Array of SQL statements that will be applied rather than the current schema. |
boolean | $continueOnErr | Continue to apply the schema even if an error occurs. |
adoSchema::existingData | ( | $mode = NULL | ) |
Specifies how to handle existing data row when there is a unique key conflict.
The existingData setting specifies how the parser should handle existing rows when a unique key violation occurs during the insert. This can happen when inserting data into an existing table with one or more primary keys or unique indexes. The existingData method takes one of three options: XMLS_MODE_INSERT attempts to always insert the data as a new row. In the event of a unique key violation, the database will generate an error. XMLS_MODE_UPDATE attempts to update the any existing rows with the new data based upon primary or unique key fields in the schema. If the data row in the schema specifies no unique fields, the row data will be inserted as a new row. XMLS_MODE_IGNORE specifies that any data rows that would result in a unique key violation be ignored; no inserts or updates will take place. For backward compatibility, the default setting is XMLS_MODE_INSERT, but XMLS_MODE_UPDATE will generally be the most appropriate setting.
int | $mode | XMLS_MODE_INSERT, XMLS_MODE_UPDATE, or XMLS_MODE_IGNORE |
int | current mode |
adoSchema::ExtractSchema | ( | $data = FALSE | ) |
Extracts an XML schema from an existing database.
Call this method to create an XML schema string from an existing database. If the data parameter is set to TRUE, AXMLS will include the data from the database in the schema.
boolean | $data | Include data in schema dump |
string | Generated XML schema |
adoSchema::extractSchema | ( | $data = FALSE, | |
$indent = ' ', | |||
$prefix = '', | |||
$stripprefix = false ) |
Extracts an XML schema from an existing database.
Call this method to create an XML schema string from an existing database. If the data parameter is set to TRUE, AXMLS will include the data from the database tables in the schema.
boolean | $data | include data in schema dump |
string | $indent | indentation to use |
string | $prefix | extract only tables with given prefix |
boolean | $stripprefix | strip prefix string when storing in XML schema |
string | Generated XML schema |
adoSchema::ParseSchema | ( | $filename, | |
$returnSchema = FALSE ) |
Loads an XML schema from a file and converts it to SQL.
Call this method to load the specified schema (see the DTD for the proper format) from the filesystem and generate the SQL necessary to create the database described.
string | $file | Name of XML schema file. |
bool | $returnSchema | Return schema rather than parsing. |
array | Array of SQL queries, ready to execute |
adoSchema::parseSchema | ( | $filename, | |
$returnSchema = FALSE ) |
Loads an XML schema from a file and converts it to SQL.
Call this method to load the specified schema (see the DTD for the proper format) from the filesystem and generate the SQL necessary to create the database described. This method automatically converts the schema to the latest axmls schema version.
string | $file | Name of XML schema file. |
bool | $returnSchema | Return schema rather than parsing. |
array | Array of SQL queries, ready to execute |
adoSchema::ParseSchemaFile | ( | $filename, | |
$returnSchema = FALSE ) |
Loads an XML schema from a file and converts it to SQL.
Call this method to load the specified schema from a file (see the DTD for the proper format) and generate the SQL necessary to create the database described by the schema.
string | $file | Name of XML schema file. |
bool | $returnSchema | Return schema rather than parsing. |
array | Array of SQL queries, ready to execute. |
adoSchema::parseSchemaFile | ( | $filename, | |
$returnSchema = FALSE ) |
Loads an XML schema from a file and converts it to SQL.
Call this method to load the specified schema directly from a file (see the DTD for the proper format) and generate the SQL necessary to create the database described by the schema. Use this method when you are dealing with large schema files. Otherwise, parseSchema() is faster. This method does not automatically convert the schema to the latest axmls schema version. You must convert the schema manually using either the convertSchemaFile() or convertSchemaString() method.
string | $file | Name of XML schema file. |
bool | $returnSchema | Return schema rather than parsing. |
array | Array of SQL queries, ready to execute. |
adoSchema::ParseSchemaString | ( | $xmlstring, | |
$returnSchema = FALSE ) |
Converts an XML schema string to SQL.
Call this method to parse a string containing an XML schema (see the DTD for the proper format) and generate the SQL necessary to create the database described by the schema.
string | $xmlstring | XML schema string. |
bool | $returnSchema | Return schema rather than parsing. |
array | Array of SQL queries, ready to execute. |
adoSchema::parseSchemaString | ( | $xmlstring, | |
$returnSchema = FALSE ) |
Converts an XML schema string to SQL.
Call this method to parse a string containing an XML schema (see the DTD for the proper format) and generate the SQL necessary to create the database described by the schema.
string | $xmlstring | XML schema string. |
bool | $returnSchema | Return schema rather than parsing. |
array | Array of SQL queries, ready to execute. |
adoSchema::PrintSQL | ( | $format = 'NONE' | ) |
Returns the current SQL array.
Call this method to fetch the array of SQL queries resulting from ParseSchema() or ParseSchemaString().
string | $format | Format: HTML, TEXT, or NONE (PHP array) |
array | Array of SQL statements or FALSE if an error occurs |
adoSchema::printSQL | ( | $format = 'NONE' | ) |
Returns the current SQL array.
Call this method to fetch the array of SQL queries resulting from parseSchema() or parseSchemaString().
string | $format | Format: HTML, TEXT, or NONE (PHP array) |
array | Array of SQL statements or FALSE if an error occurs |
adoSchema::RemoveSchema | ( | $filename, | |
$returnSchema = FALSE ) |
Loads an XML schema from a file and converts it to uninstallation SQL.
Call this method to load the specified schema (see the DTD for the proper format) from the filesystem and generate the SQL necessary to remove the database described.
string | $file | Name of XML schema file. |
bool | $returnSchema | Return schema rather than parsing. |
array | Array of SQL queries, ready to execute |
adoSchema::removeSchema | ( | $filename, | |
$returnSchema = FALSE ) |
Loads an XML schema from a file and converts it to uninstallation SQL.
Call this method to load the specified schema (see the DTD for the proper format) from the filesystem and generate the SQL necessary to remove the database described.
string | $file | Name of XML schema file. |
bool | $returnSchema | Return schema rather than parsing. |
array | Array of SQL queries, ready to execute |
adoSchema::RemoveSchemaString | ( | $schema, | |
$returnSchema = FALSE ) |
Converts an XML schema string to uninstallation SQL.
Call this method to parse a string containing an XML schema (see the DTD for the proper format) and generate the SQL necessary to uninstall the database described by the schema.
string | $schema | XML schema string. |
bool | $returnSchema | Return schema rather than parsing. |
array | Array of SQL queries, ready to execute. |
adoSchema::removeSchemaString | ( | $schema, | |
$returnSchema = FALSE ) |
Converts an XML schema string to uninstallation SQL.
Call this method to parse a string containing an XML schema (see the DTD for the proper format) and generate the SQL necessary to uninstall the database described by the schema.
string | $schema | XML schema string. |
bool | $returnSchema | Return schema rather than parsing. |
array | Array of SQL queries, ready to execute. |
adoSchema::SaveSQL | ( | $filename = './schema.sql' | ) |
Saves the current SQL array to the local filesystem as a list of SQL queries.
Call this method to save the array of SQL queries (generally resulting from a parsed XML schema) to the filesystem.
string | $filename | Path and name where the file should be saved. |
boolean | TRUE if save is successful, else FALSE. |
adoSchema::saveSQL | ( | $filename = './schema.sql' | ) |
Saves the current SQL array to the local filesystem as a list of SQL queries.
Call this method to save the array of SQL queries (generally resulting from a parsed XML schema) to the filesystem.
string | $filename | Path and name where the file should be saved. |
boolean | TRUE if save is successful, else FALSE. |
adoSchema::SchemaFileVersion | ( | $filename | ) |
Returns the AXMLS Schema Version of the requested XML schema file.
Call this method to obtain the AXMLS DTD version of the requested XML schema file.
string | $filename | AXMLS schema file |
string | Schema version number or FALSE on error |
adoSchema::schemaFileVersion | ( | $filename | ) |
Returns the AXMLS Schema Version of the requested XML schema file.
Call this method to obtain the AXMLS DTD version of the requested XML schema file.
string | $filename | AXMLS schema file |
string | Schema version number or FALSE on error |
adoSchema::SchemaStringVersion | ( | $xmlstring | ) |
Returns the AXMLS Schema Version of the provided XML schema string.
Call this method to obtain the AXMLS DTD version of the provided XML schema string.
string | $xmlstring | XML schema string |
string | Schema version number or FALSE on error |
adoSchema::schemaStringVersion | ( | $xmlstring | ) |
Returns the AXMLS Schema Version of the provided XML schema string.
Call this method to obtain the AXMLS DTD version of the provided XML schema string.
string | $xmlstring | XML schema string |
string | Schema version number or FALSE on error |
adoSchema::SetPrefix | ( | $prefix = '', | |
$underscore = TRUE ) |
Sets a prefix for database objects.
Call this method to set a standard prefix that will be prepended to all database tables and indices when the schema is parsed. Calling setPrefix with no arguments clears the prefix.
string | $prefix | Prefix that will be prepended. |
boolean | $underscore | If TRUE, automatically append an underscore character to the prefix. |
boolean | TRUE if successful, else FALSE |
adoSchema::setPrefix | ( | $prefix = '', | |
$underscore = TRUE ) |
Sets a prefix for database objects.
Call this method to set a standard prefix that will be prepended to all database tables and indices when the schema is parsed. Calling setPrefix with no arguments clears the prefix.
string | $prefix | Prefix that will be prepended. |
boolean | $underscore | If TRUE, automatically append an underscore character to the prefix. |
boolean | TRUE if successful, else FALSE |
adoSchema::SetUpgradeMethod | ( | $method = '' | ) |
Sets the method to be used for upgrading an existing database.
Use this method to specify how existing database objects should be upgraded. The method option can be set to ALTER, REPLACE, BEST, or NONE. ALTER attempts to alter each database object directly, REPLACE attempts to rebuild each object from scratch, BEST attempts to determine the best upgrade method for each object, and NONE disables upgrading.
This method is not yet used by AXMLS, but exists for backward compatibility. The ALTER method is automatically assumed when the adoSchema object is instantiated; other upgrade methods are not currently supported.
string | $method | Upgrade method (ALTER|REPLACE|BEST|NONE) |
adoSchema::setUpgradeMethod | ( | $method = '' | ) |
Sets the method to be used for upgrading an existing database.
Use this method to specify how existing database objects should be upgraded. The method option can be set to ALTER, REPLACE, BEST, or NONE. ALTER attempts to alter each database object directly, REPLACE attempts to rebuild each object from scratch, BEST attempts to determine the best upgrade method for each object, and NONE disables upgrading.
This method is not yet used by AXMLS, but exists for backward compatibility. The ALTER method is automatically assumed when the adoSchema object is instantiated; other upgrade methods are not currently supported.
string | $method | Upgrade method (ALTER|REPLACE|BEST|NONE) |