36 lines
911 B
PHP
36 lines
911 B
PHP
<?php
|
|
/**
|
|
* Manually run an SQL patch outside of the general updaters.
|
|
* This ensures that the DB options (charset, prefix, engine) are correctly set.
|
|
*
|
|
* @file
|
|
* @ingroup Maintenance
|
|
*/
|
|
|
|
require_once( dirname(__FILE__) . '/commandLine.inc' );
|
|
require_once "$IP/maintenance/updaters.inc";
|
|
|
|
if( $args ) {
|
|
foreach( $args as $arg ) {
|
|
$files = array(
|
|
$arg,
|
|
archive( $arg ),
|
|
archive( "patch-$arg.sql" ),
|
|
);
|
|
foreach( $files as $file ) {
|
|
if( file_exists( $file ) ) {
|
|
echo "$file ...\n";
|
|
wfGetDB( DB_MASTER )->fileSource( $file );
|
|
continue 2;
|
|
}
|
|
}
|
|
echo "Could not find $arg\n";
|
|
}
|
|
echo "done.\n";
|
|
} else {
|
|
echo "Run an SQL file into the DB, replacing prefix and charset vars.\n";
|
|
echo "Usage:\n";
|
|
echo " php maintenance/patchSql.php file1.sql file2.sql ...\n";
|
|
echo "\n";
|
|
echo "Paths in maintenance/archive are automatically expanded if a local file isn't found.\n";
|
|
}
|