function updateSchemaCore() { printfnq("Upgrading core schema..."); $schema = Schema::get(); $schemaUpdater = new SchemaUpdater($schema); foreach (tableDefs() as $table => $def) { $schemaUpdater->register($table, $def); } $schemaUpdater->checkSchema(); printfnq("DONE.\n"); }
function checkSchema() { $config = $this->getConfig(); Status_network::$wildcard = $config['WILDCARD']; StatusNet::switchSite($this->nickname); // We need to initialize the schema_version stuff to make later setup easier $schema = array(); require INSTALLDIR . '/db/core.php'; $tableDefs = $schema; $schema = Schema::get(); $schemaUpdater = new SchemaUpdater($schema); foreach ($tableDefs as $table => $def) { $schemaUpdater->register($table, $def); } $schemaUpdater->checkSchema(); Event::handle('CheckSchema'); }
php checkschema.php [options] Gives plugins a chance to update the database schema. -x --extensions= Comma-separated list of plugins to load before checking END_OF_CHECKSCHEMA_HELP; require_once INSTALLDIR . '/scripts/commandline.inc'; function tableDefs() { $schema = array(); require INSTALLDIR . '/model/db.php'; return $schema; } $schema = Schema::get(); $schemaUpdater = new SchemaUpdater($schema); foreach (tableDefs() as $table => $def) { $schemaUpdater->register($table, $def); } $schemaUpdater->checkSchema(); /* if (have_option('x', 'extensions')) { $ext = trim(get_option_value('x', 'extensions')); $exts = explode(',', $ext); foreach ($exts as $plugin) { try { addPlugin($plugin); } catch (Exception $e) { print $e->getMessage()."\n"; exit(1); }
function dumpChecksum($tableName) { $schema = Schema::get(); $def = getCoreSchema($tableName); $updater = new SchemaUpdater($schema); $checksum = $updater->checksum($def); $old = @$updater->checksums[$tableName]; if ($old == $checksum) { echo "OK {$checksum} {$tableName}\n"; } else { if (!$old) { echo "NEW {$checksum} {$tableName}\n"; } else { echo "MOD {$checksum} {$tableName} (was {$old})\n"; } } }