|
eZ Publish
[4.0]
|
00001 #!/usr/bin/env php 00002 <?php 00003 00004 require 'autoload.php'; 00005 00006 $cli = eZCLI::instance(); 00007 00008 $scriptSettings = array(); 00009 $scriptSettings['description'] = 'Initialize the ezurlalias_ml_incr table'; 00010 $scriptSettings['use-session'] = true; 00011 $scriptSettings['use-modules'] = true; 00012 $scriptSettings['use-extensions'] = true; 00013 00014 $script = eZScript::instance( $scriptSettings ); 00015 $script->startup(); 00016 00017 $config = ''; 00018 $argumentConfig = ''; 00019 $optionHelp = false; 00020 $arguments = false; 00021 $useStandardOptions = true; 00022 00023 $options = $script->getOptions( $config, $argumentConfig, $optionHelp, $arguments, $useStandardOptions ); 00024 $script->initialize(); 00025 00026 $db = eZDB::instance(); 00027 00028 $maxIDs = $db->arrayQuery( 'SELECT MAX( id ) AS max_id FROM ezurlalias_ml', array( 'column' => 'max_id' ) ); 00029 00030 $maxID = (int)$maxIDs[0]; 00031 $cli->output( "highest ID in ezurlalias_ml table: $maxID" ); 00032 00033 $autoInc = $maxID + 1; 00034 00035 $cli->output( 'Truncating ezurlalias_ml_incr table' ); 00036 $db->query( 'TRUNCATE TABLE ezurlalias_ml_incr' ); 00037 00038 $cli->output( 'Setting next auto_increment value to highest existing ID + 1' ); 00039 00040 if ( $db instanceof eZMySQLDB || $db instanceof eZMySQLiDB ) 00041 { 00042 $db->query( "ALTER TABLE ezurlalias_ml_incr AUTO_INCREMENT=$autoInc" ); 00043 } 00044 else if ( $db instanceof eZOracleDB ) 00045 { 00046 $db->query( "DROP SEQUENCE s_urlalias_ml_incr" ); 00047 $db->query( "CREATE SEQUENCE s_urlalias_ml_incr MINVALUE $autoInc" ); 00048 } 00049 else 00050 { 00051 $db->query( "DROP SEQUENCE ezurlalias_ml_incr_s" ); 00052 $db->query( "CREATE SEQUENCE ezurlalias_ml_incr_s MINVALUE $autoInc" ); 00053 } 00054 00055 $cli->output( 'Inserting existing IDs into ezurlalias_ml_incr table' ); 00056 $db->query( "INSERT INTO ezurlalias_ml_incr (id) SELECT DISTINCT id FROM ezurlalias_ml" ); 00057 00058 $script->shutdown( 0 ); 00059 00060 ?>