eZ Publish  [4.0]
initurlaliasmlid.php
Go to the documentation of this file.
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 ?>