1. 问题
升级到2.1.220220版本,由于旧版本在升级会备份数据库在导出时出现了字符类型问题,可通过手动方式升级或更改备份数据库的代码
2. 修改导出数据库文件的代码
找到 vendor\hkcms\cms-addons\src\addonsCloud.php\Cloud.php 文件。第978行,如下
foreach ($result as $row) {
foreach($row as &$v){
//将数据中的单引号转义,否则还原时会出错
$v = addslashes($v);
}
$sql = "INSERT INTO `{$value['Name']}` VALUES ('" . implode("', '", $row) . "');\n";
if (false === @fwrite($fp, $sql)) {
return false;
}
}
替换成
foreach ($result as $row) {
foreach($row as &$v){
//将数据中的单引号转义,否则还原时会出错
if (is_null($v)) {
$v = '--null--';
} else if(is_string($v)) {
$v = addslashes($v);
}
}
$sql = "INSERT INTO `{$value['Name']}` VALUES ('" . str_replace(["\r","\n"],['\r','\n'],implode("', '", $row)) . "');\n";
$sql = str_replace("'--null--'",'null', $sql);
if (false === @fwrite($fp, $sql)) {
return false;
}
}
保存重新升级即可
3. 手动升级
官网下载文件进行覆盖(注意:不想覆盖默认模板,删除template/index文件夹后覆盖),然后下载数据库表文件运行:地址:https://www.hkcms.cn/index/index/uplogs.html?id=7
提示:在自动升级时,程序会提前备份数据库,备份项目,文件保存在:runtime\admin\backup
虽然有备份功能,但还是建议您手动备份好数据。
发表评论 取消回复