v5:dictionary:xmlschema
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
v5:dictionary:xmlschema [2016/01/13 02:06] – ↷ Page moved from dictionary:xmlschema to v5:dictionary:xmlschema mnewnham | v5:dictionary:xmlschema [2018/06/11 10:05] (current) – [Executing the Schema] function calls starting with lowercase (#426) dregad | ||
---|---|---|---|
Line 3: | Line 3: | ||
<WRAP right box round 300px> | <WRAP right box round 300px> | ||
==See also== | ==See also== | ||
- | [[axmls: | + | [[v5:axmls: |
- | [[dictionary: | + | [[v5:dictionary:dictionary_index|The Meta Functions]]\\ |
</ | </ | ||
===== Introduction ===== | ===== Introduction ===== | ||
- | Adodb-xmlschema, | + | Adodb-xmlschema, |
* An XML file contains all of the definitions required to create a table, the associated columns, indexes and constraints. | * An XML file contains all of the definitions required to create a table, the associated columns, indexes and constraints. | ||
- | * The table can be created by processing the XML file with the [[axmls:parseSchema()]] method, which converts the XML into an array of SQL statements. These statements can then be executed using the [[axmls:executeSchema()]] method. | + | * The table can be created by processing the XML file with the [[v5:axmls:parseschema]] method, which converts the XML into an array of SQL statements. These statements can then be executed using the [[v5:axmls:executeschema]] method. |
* That XML file can be used **unmodified** against any database supported by ADOdb. | * That XML file can be used **unmodified** against any database supported by ADOdb. | ||
* Any modifications to the table can be enabled by simply modifying the XML file, and re-executing the XML load command. The ADOdb Meta Functions take care of any processing required to apply those changes to the table. | * Any modifications to the table can be enabled by simply modifying the XML file, and re-executing the XML load command. The ADOdb Meta Functions take care of any processing required to apply those changes to the table. | ||
Line 151: | Line 151: | ||
*/ | */ | ||
$db = ADONewConnection( $platform ); | $db = ADONewConnection( $platform ); | ||
- | $db->Connect( $dbHost, $dbUser, $dbPassword, | + | $db->connect( $dbHost, $dbUser, $dbPassword, |
/* Use the database connection to create a new adoSchema object. | /* Use the database connection to create a new adoSchema object. | ||
Line 157: | Line 157: | ||
$schema = new adoSchema( $db ); | $schema = new adoSchema( $db ); | ||
- | /* Call ParseSchema() to build SQL from the XML schema file. | + | /* Call parseSchema() to build SQL from the XML schema file. |
- | * Then call ExecuteSchema() to apply the resulting SQL to | + | * Then call executeSchema() to apply the resulting SQL to |
* the database. | * the database. | ||
*/ | */ | ||
- | $sql = $schema-> | + | $sql = $schema-> |
- | $result = $schema-> | + | $result = $schema-> |
</ | </ | ||
Line 169: | Line 169: | ||
<code php> | <code php> | ||
$db = ADONewConnection( ' | $db = ADONewConnection( ' | ||
- | $db->Connect( ' | + | $db->connect( ' |
</ | </ | ||
Line 178: | Line 178: | ||
</ | </ | ||
- | Third, call ParseSchema() to parse the schema and then '' | + | Third, call parseSchema() to parse the schema and then '' |
<code php> | <code php> | ||
- | $schema-> | + | $schema-> |
- | $schema-> | + | $schema-> |
</ | </ | ||
Line 192: | Line 192: | ||
AXMLS consists of two parts: the **schema description**, | AXMLS consists of two parts: the **schema description**, | ||
==== Executing the Schema ==== | ==== Executing the Schema ==== | ||
- | AXMLS provides two different methods for applying the SQL resulting from a parsed schema to the database: **inline execution** and **post execution**. Use the [[axmls: | + | AXMLS provides two different methods for applying the SQL resulting from a parsed schema to the database: **inline execution** and **post execution**. Use the [[v5:axmls: |
**Inline Execution** applies each schema entity to the database immediately after that entity is parsed. I.e., the first table is read from the schema and applied to the database, then the second table, etc. | **Inline Execution** applies each schema entity to the database immediately after that entity is parsed. I.e., the first table is read from the schema and applied to the database, then the second table, etc. | ||
Line 200: | Line 200: | ||
// Inline Execution | // Inline Execution | ||
- | $schema-> | + | $schema-> |
- | $schema-> | + | $schema-> |
- | $schema-> | + | $schema-> |
</ | </ | ||
Line 212: | Line 212: | ||
// Post Execution (default) | // Post Execution (default) | ||
$schema-> | $schema-> | ||
- | $schema-> | + | $schema-> |
- | $schema-> | + | $schema-> |
</ | </ | ||
Line 220: | Line 220: | ||
Upgrading a database is as simple as creating one. To upgrade an existing database to a new version of a schema, simply parse and execute the schema as above. AXMLS will automatically upgrade all tables and indices to match those provided in the schema. | Upgrading a database is as simple as creating one. To upgrade an existing database to a new version of a schema, simply parse and execute the schema as above. AXMLS will automatically upgrade all tables and indices to match those provided in the schema. | ||
==== Object Prefixing==== | ==== Object Prefixing==== | ||
- | In a world of pluggable and reusable code, multiple applications often coexist in a single database. Object prefixes allow you to create a namespace for your application. For example, an application called Tackle might want to prefix all its tables and objects with **tackle_** so they' | + | In a world of pluggable and reusable code, multiple applications often coexist in a single database. Object prefixes allow you to create a namespace for your application. For example, an application called Tackle might want to prefix all its tables and objects with **tackle_** so they' |
<code php> | <code php> | ||
Line 230: | Line 230: | ||
==== Getting at the SQL ==== | ==== Getting at the SQL ==== | ||
- | AXMLS provides several tools for accessing the SQL created by the schema parser. Calling [[axmls:printSql()]] returns the parsed SQL in HTML, text, or PHP array format. Calling [[axmls:saveSql()]] saves the parsed SQL to the specified file. | + | AXMLS provides several tools for accessing the SQL created by the schema parser. Calling [[v5:axmls:printsql]] returns the parsed SQL in HTML, text, or PHP array format. Calling [[v5:axmls:savesql]] saves the parsed SQL to the specified file. |
<code php> | <code php> |
v5/dictionary/xmlschema.1452647178.txt.gz · Last modified: 2017/04/21 11:27 (external edit)