之前寫了一篇:記錄一次PBOOTCMS如何升級(jí)為寒總做的二開版本的文章,但是2023年了,再次進(jìn)行老網(wǎng)站的升級(jí),發(fā)現(xiàn)用之前的方法總是不成功了。大概率是因?yàn)楹偟男掳嫘略黾拥淖侄翁嗔?,所以我們只好換一個(gè)思路來進(jìn)行升級(jí)。
這次我們主要是采用:Navicat Premium 16 這個(gè)軟件進(jìn)行數(shù)據(jù)更新,請(qǐng)自行百度一下。
**步:我們可以將舊網(wǎng)站同步更新到官方的**版本。
第二步:將我們要轉(zhuǎn)換的數(shù)據(jù)庫(kù)比如說A數(shù)據(jù)庫(kù),如果是mysql,則不管他,如果是SQLIT的,可以用上面提到的軟件先將其轉(zhuǎn)換成mysql.
第三步:我們新建一個(gè)MYSQL數(shù)據(jù)庫(kù)為B,導(dǎo)入二開版本中的原始空數(shù)據(jù)庫(kù),這樣就保證了數(shù)據(jù)結(jié)構(gòu)上與二開版本一樣了。
第四步:我們同步B的結(jié)構(gòu)到A的結(jié)構(gòu)中,這樣保證了A的數(shù)據(jù)不變,結(jié)構(gòu)與二開版本差不多。還是會(huì)有一些差異,所以我們不能直接用A作為*終數(shù)據(jù)庫(kù)使用。需要進(jìn)行下一步。
第五步:直接從A里面復(fù)制數(shù)據(jù)到B里面,比如說:ay_config, ay_content_ext, ay_content_sort, ay_extfield等等,為什么不直接用數(shù)據(jù)同步或者傳輸呢,因?yàn)榻?jīng)過測(cè)試發(fā)現(xiàn)是會(huì)出問題的。不信你可以試試,也許你同步數(shù)據(jù)又正常,反正我同步了多次都出錯(cuò)了,換了這個(gè)方法?;蛘吣銓⑵鋵?dǎo)出SQL,再在B里面運(yùn)行這個(gè)SQL導(dǎo)入,也是一個(gè)非常好的方式。
第六步:將購(gòu)買的(好東西當(dāng)然要收費(fèi)。)二次開發(fā)版的程序文件中的:apps,core,config三個(gè)文件夾覆蓋掉自己的程序包。config中的數(shù)據(jù)庫(kù)連接修改成MYSQL數(shù)據(jù)庫(kù)。
如果你想用SQLITE,那繼續(xù)使用NAVICAT,新建一個(gè)全新的SQLITE數(shù)據(jù)庫(kù)。
然后使用數(shù)據(jù)庫(kù)傳輸。
**步:先在后臺(tái)清空所有的日志,我一開始未清理,導(dǎo)致數(shù)據(jù)傳輸完成后無法正常運(yùn)行,第二次先清理了之后再轉(zhuǎn)換,就直接成功了。
第二步:選擇數(shù)據(jù)傳輸。這里不要選。然后下一步,完成。
-------------------------------------------------------我是分割線--------------------------------------------------------------------------------------------
在進(jìn)行數(shù)據(jù)轉(zhuǎn)換后,有時(shí)候會(huì)出現(xiàn)這樣或者那樣的問題,下面我來說一下我遇到的一些問題,給大家作一下參考。
1:比如說今天遇到一個(gè)問題是其他的所有數(shù)據(jù)都正常,突然發(fā)現(xiàn)欄目管理打不開,然后報(bào)錯(cuò):執(zhí)行SQL發(fā)生錯(cuò)誤!錯(cuò)誤: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
經(jīng)過測(cè)試發(fā)現(xiàn),原來是轉(zhuǎn)換過程中,原來的一些欄目數(shù)據(jù)中的gid缺失,就是沒有數(shù)據(jù),所以需要修改成有數(shù)據(jù)。比如說全部修改成0就可以了。
2 : 假如你在后臺(tái)編輯文章的時(shí)候,出現(xiàn)類似的錯(cuò)誤,說明有字段遺漏了。需要手工添加或者同步一下結(jié)構(gòu)。
比如出現(xiàn)如下的錯(cuò)誤提示,表示缺少:picstitle ,則可以對(duì)比默認(rèn)的數(shù)據(jù)庫(kù)中然后添加對(duì)應(yīng)的字段。
如果嫌太麻煩的話,直接用軟件進(jìn)行數(shù)據(jù)結(jié)構(gòu)同步即可。
3: 數(shù)據(jù)同步之后,依舊會(huì)遇到在修改文檔的時(shí)候出現(xiàn)如下報(bào)錯(cuò)。
在這里, 可能是任何一個(gè)數(shù)據(jù)字段會(huì)報(bào)這個(gè)報(bào),當(dāng)報(bào)這個(gè)錯(cuò)的時(shí)候,我們只需要id值改為鍵值。
有關(guān)我們服務(wù)的更多信息,請(qǐng)聯(lián)系項(xiàng)目經(jīng)理
15899750475 楊先生