Exemple #1
0
function runSqlFiles($origVersion, $destVersion)
{
    global $logpath;
    global $unzip_dir;
    writeLog("Upgrading the database from {$origVersion} to version {$destVersion}");
    $origVersion = substr($origVersion, 0, 2) . 'x';
    $destVersion = substr($destVersion, 0, 2) . 'x';
    if (strcmp($origVersion, $destVersion) == 0) {
        writeLog("*** Skipping schema upgrade for point release.");
        return;
    }
    $schemaFileName = "{$unzip_dir}/scripts/{$origVersion}_to_{$destVersion}_" . $GLOBALS['db']->getScriptName() . ".sql";
    if (is_file($schemaFileName)) {
        writeLog("Running SQL file {$schemaFileName}");
        ob_start();
        @parseAndExecuteSqlFile($schemaFileName);
        ob_end_clean();
    } else {
        writeLog("*** Schema change script [{$schemaFileName}] could not be found!");
    }
}
function runSqlFiles($origVersion, $destVersion, $queryType, $resumeFromQuery = '')
{
    global $sugar_config;
    global $unzip_dir;
    global $sugar_config;
    global $sugar_version;
    global $path;
    global $_SESSION;
    $self_dir = "{$unzip_dir}/scripts";
    // This flag is determined by the preflight check in the installer
    if (!isset($_SESSION['schema_change']) || $_SESSION['schema_change'] == 'sugar') {
        _logThis("Upgrading the database from {$origVersion} to version {$destVersion}", $path);
        $origVersion = implodeVersion($origVersion, 3, 'x');
        $destVersion = implodeVersion($destVersion, 3, 'x');
        $schemaFileName = $origVersion . "_to_" . $destVersion;
        switch ($sugar_config['dbconfig']['db_type']) {
            case 'mysql':
                $schemaFileName = $schemaFileName . '_mysql.sql';
                break;
            case 'mssql':
                $schemaFileName = $schemaFileName . '_mssql.sql';
                break;
            case 'oci8':
                $schemaFileName = $schemaFileName . '_oracle.sql';
                break;
            case 'ibm_db2':
                $schemaFileName = $schemaFileName . '_ibm_db2.sql';
                break;
        }
        $schemaFile = $_SESSION['unzip_dir'] . '/scripts/' . $schemaFileName;
        _logThis("Running SQL file {$schemaFile}", $path);
        if (is_file($schemaFile)) {
            //$sql_run_result = _run_sql_file($schemaFile);
            ob_start();
            @parseAndExecuteSqlFile($schemaFile, $queryType, $resumeFromQuery);
            ob_end_clean();
        } else {
            if (strcmp($origVersion, $destVersion) == 0) {
                _logThis("*** Skipping schema upgrade for point release.", $path);
            } else {
                _logThis("*** ERROR: Schema change script [{$schemaFile}] could not be found!", $path);
            }
        }
    } else {
        _logThis('*** Skipping Schema Change Scripts - Admin opted to run queries manually and should have done so by now.', $path);
    }
}