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.
} else { echo_success("Good, database \"<b>{$db_name}</b>\" has been created!!"); //Reconnect. Hrmm, this is kinda weird. $db->Connect($db_host, $db_user, $db_password, $db_name); } } break; default: echo_normal("Sorry, <b>setup.php</b> currently does not fully support \"<b>{$db_type}</b>\" databases.\n\t\t\t\t\t<br>I'm assuming you've already created the database \"{$db_name}\", attempting to create tables.\n\t\t\t\t\t<br> Please email <b>{$author_email}</b> code to detect if a database is created or not so full support for \"<b>{$db_type}</b>\" can be added."); } /* * Attempt to create tables */ // Create the schema object and build the query array. $schema = new adoSchema($db); $schema->SetPrefix($db_table_prefix, FALSE); //set $underscore == FALSE // Build the SQL array $schema->ParseSchema('schema.xml'); // maybe display this if $gacl->debug is true? if ($gacl->_debug) { print "Here's the SQL to do the build:<br />\n<code>"; print $schema->getSQL('html'); print "</code>\n"; // exit; } // Execute the SQL on the database #ADODB's xmlschema is being lame, continue on error. $schema->ContinueOnError(TRUE); $result = $schema->ExecuteSchema(); if ($result != 2) {
} else { echo_success("Good, database \"<b>{$db_name}</b>\" has been created!!"); //Reconnect. Hrmm, this is kinda weird. $db->Connect($db_host, $db_user, $db_password, $db_name); } } break; default: echo_normal("Sorry, <b>setup.php</b> currently does not fully support \"<b>{$db_type}</b>\" databases.\n\t\t\t\t\t<br>I'm assuming you've already created the database \"{$db_name}\", attempting to create tables.\n\t\t\t\t\t<br> Please email <b>{$author_email}</b> code to detect if a database is created or not so full support for \"<b>{$db_type}</b>\" can be added."); } /* * Attempt to create tables */ // Create the schema object and build the query array. $schema = new adoSchema($db); $schema->SetPrefix($db_table_prefix); // Build the SQL array $schema->ParseSchema('schema.xml'); // maybe display this if $gacl->debug is true? if ($gacl->_debug) { print "Here's the SQL to do the build:<br />\n<code>"; print $schema->getSQL('html'); print "</code>\n"; // exit; } // Execute the SQL on the database #ADODB's xmlschema is being lame, continue on error. $schema->ContinueOnError(TRUE); $result = $schema->ExecuteSchema(); if ($result != 2) { echo_failed('Failed creating tables. Please enable DEBUG mode (set it to TRUE in $gacl_options near top of admin/gacl_admin.inc.php) to see the error and try again. You will most likely need to delete any tables already created.');
function _upgrade_database($table_prefix) { $dbcon = AMP_Registry::getDbcon(); $table_names = $dbcon->MetaTables(); $target_table = strtolower($table_prefix . 'phpgacl'); if (array_search($target_table, $table_names) !== FALSE) { return true; } require_once 'adodb/adodb-xmlschema.inc.php'; $schema = new adoSchema($dbcon); $schema->SetPrefix($table_prefix, FALSE); $schema->ParseSchema(AMP_BASE_INCLUDE_PATH . 'phpgacl/schema.xml'); $schema->ContinueOnError(TRUE); $result = $schema->ExecuteSchema(); if ($result == 2) { $this->message('Database upgraded successfully'); } else { $this->error('Database upgrade failed'); } }