From: Tim Starling Date: Wed, 11 Jan 2006 01:02:47 +0000 (+0000) Subject: Initialise external storage X-Git-Tag: 1.6.0~615 X-Git-Url: https://git.cyclocoop.org/admin/?a=commitdiff_plain;h=e2ae1b971afa51c1b6e0c670bff18ead45c50a61;p=lhc%2Fweb%2Fwiklou.git Initialise external storage --- diff --git a/maintenance/addwiki.php b/maintenance/addwiki.php index 060ff6c07e..07913907fb 100644 --- a/maintenance/addwiki.php +++ b/maintenance/addwiki.php @@ -15,7 +15,7 @@ addWiki( $args[0], $args[1], $args[2] ); function addWiki( $lang, $site, $dbName ) { - global $IP, $wgLanguageNames; + global $IP, $wgLanguageNames, $wgDefaultExternalStore; $name = $wgLanguageNames[$lang]; @@ -24,6 +24,7 @@ function addWiki( $lang, $site, $dbName ) $maintenance = "$IP/maintenance"; print "Creating database $dbName for $lang.$site\n"; + # Set up the database $dbw->query( "SET table_type=Innodb" ); $dbw->query( "CREATE DATABASE $dbName" ); @@ -34,6 +35,26 @@ function addWiki( $lang, $site, $dbName ) dbsource( "$IP/extensions/OAI/update_table.sql", $dbw ); $dbw->query( "INSERT INTO site_stats(ss_row_id) VALUES (1)" ); + # Initialise external storage + if ( $wgDefaultExternalStore && preg_match( '!^DB://(.*)$!', $wgDefaultExternalStore, $m ) ) { + print "Initialising external storage...\n"; + require_once( 'ExternalStoreDB.php' ); + global $wgDBuser, $wgDBpassword, $wgExternalServers; + $cluster = $m[1]; + + # Hack + $wgExternalServers[$cluster][0]['user'] = $wgDBuser; + $wgExternalServers[$cluster][0]['password'] = $wgDBpassword; + + $store = new ExternalStoreDB; + $extdb =& $store->getMaster( $cluster ); + $extdb->query( "SET table_type=InnoDB" ); + $extdb->query( "CREATE DATABASE $dbName" ); + $extdb->selectDB( $dbName ); + dbsource( "$maintenance/storage/blobs.sql", $extdb ); + $extdb->immediateCommit(); + } + $wgTitle = Title::newMainPage(); $wgArticle = new Article( $wgTitle ); $ucsite = ucfirst( $site );