之前写了一篇:记录一次PBOOTCMS如何升级为寒总做的二开版本的文章,但是2023年了,再次进行老网站的升级,发现用之前的方法总是不成功了。大概率是因为寒总的新版新增加的字段太多了,所以我们只好换一个思路来进行升级。
这次我们主要是采用:Navicat Premium 16 这个软件进行数据更新,请自行百度一下。
**步:我们可以将旧网站同步更新到官方的**版本。
第二步:将我们要转换的数据库比如说A数据库,如果是mysql,则不管他,如果是SQLIT的,可以用上面提到的软件先将其转换成mysql.
第三步:我们新建一个MYSQL数据库为B,导入二开版本中的原始空数据库,这样就保证了数据结构上与二开版本一样了。
第四步:我们同步B的结构到A的结构中,这样保证了A的数据不变,结构与二开版本差不多。还是会有一些差异,所以我们不能直接用A作为*终数据库使用。需要进行下一步。
第五步:直接从A里面复制数据到B里面,比如说:ay_config, ay_content_ext, ay_content_sort, ay_extfield等等,为什么不直接用数据同步或者传输呢,因为经过测试发现是会出问题的。不信你可以试试,也许你同步数据又正常,反正我同步了多次都出错了,换了这个方法。或者你将其导出SQL,再在B里面运行这个SQL导入,也是一个非常好的方式。
第六步:将购买的(好东西当然要收费。)二次开发版的程序文件中的:apps,core,config三个文件夹覆盖掉自己的程序包。config中的数据库连接修改成MYSQL数据库。
如果你想用SQLITE,那继续使用NAVICAT,新建一个全新的SQLITE数据库。
然后使用数据库传输。
**步:先在后台清空所有的日志,我一开始未清理,导致数据传输完成后无法正常运行,第二次先清理了之后再转换,就直接成功了。
第二步:选择数据传输。这里不要选。然后下一步,完成。
-------------------------------------------------------我是分割线--------------------------------------------------------------------------------------------
在进行数据转换后,有时候会出现这样或者那样的问题,下面我来说一下我遇到的一些问题,给大家作一下参考。
1:比如说今天遇到一个问题是其他的所有数据都正常,突然发现栏目管理打不开,然后报错:执行SQL发生错误!错误:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') LIMIT 1' at line 1
经过测试发现,原来是转换过程中,原来的一些栏目数据中的gid缺失,就是没有数据,所以需要修改成有数据。比如说全部修改成0就可以了。
2 : 假如你在后台编辑文章的时候,出现类似的错误,说明有字段遗漏了。需要手工添加或者同步一下结构。
比如出现如下的错误提示,表示缺少:picstitle ,则可以对比默认的数据库中然后添加对应的字段。
如果嫌太麻烦的话,直接用软件进行数据结构同步即可。
3: 数据同步之后,依旧会遇到在修改文档的时候出现如下报错。
在这里, 可能是任何一个数据字段会报这个报,当报这个错的时候,我们只需要id值改为键值。