コード例 #1
0
ファイル: lib_updater.php プロジェクト: haanco/ecmall
/**
 * 机械化地升级数据库结构。
 * @return  boolean
 */
function update_structure_automatically($next_ver, $cur_pos)
{
    global $db, $prefix, $err;
    $ver_obj = create_ver_obj($next_ver);
    if (!is_object($ver_obj) || empty($ver_obj->sql_files['structure'])) {
        return true;
    }
    $structure_path = ROOT_PATH . 'upgrade/packages/' . $next_ver . '/' . $ver_obj->sql_files['structure'];
    $db_charset = strtolower(str_replace('-', '', EC_CHARSET));
    $se = new sql_executor($db, $db_charset, 'ecs_', $prefix, ROOT_PATH . 'data/upgrade_' . $next_ver . '.log', $ver_obj->auto_match, array(1062, 1146));
    $query_item = $se->get_spec_query_item($structure_path, $cur_pos);
    $se->query($query_item);
    if (!empty($se->error)) {
        $err->add($se->error);
        return false;
    }
    return true;
}