結(jié)構(gòu)
將要升級的文件按原目錄結(jié)構(gòu)存放

和程序要一起打包的文件有:
version.txt:版本信息
delete.txt:要刪除的文件清單(一行一個文件)
table.sql:新版的數(shù)據(jù)表結(jié)構(gòu)文件,用于執(zhí)行比較新舊版本數(shù)據(jù)結(jié)構(gòu),并調(diào)整更改
update.sql:要執(zhí)行的SQL文件(單獨執(zhí)行)
run.php:如果升級涉及到比較復(fù)雜的操作,可以在這里寫PHP文件引入執(zhí)行
升級原理順序
遠(yuǎn)程獲取升級包數(shù)據(jù)
將 ZIP 壓縮包下載到 _data 目錄下
將下載好的壓縮包解壓到 _data/update/ 目錄下
歸納整理文件(主要是收集:version.txt,delete.txt,table.sql,update.sql,run.php)
將 framework 這個目錄的文件及文件夾移到現(xiàn)有程序的核心框架(可能用戶會因為安全原因改名)
移動其他目錄文件(或創(chuàng)建目錄)
刪除delete.txt清單中的文件【非必須】
執(zhí)行 table.sql 操作(比較表結(jié)構(gòu),更新到最新的表結(jié)構(gòu))【非必須】
運行 update.sql 或是其他的 sql 文件【非必須】
運行 run.php 執(zhí)行復(fù)雜的升級操作【非必須】
刪除 _data/update/ 下的文件
基于 version.txt 更新版本記錄
特別說明
table.sql 必須是完整的數(shù)據(jù)表結(jié)構(gòu),才能進(jìn)行升級比較,基本上這個操作比較復(fù)雜,不推薦使用
delete.txt 主要是刪除文件操作,除非涉及到安全漏洞,一般我們沒必要執(zhí)行刪除操作
update.sql 這里執(zhí)行的SQL是不進(jìn)行判斷的,如果涉及到升級一關(guān)失敗了,可能會出錯(除非SQL里有寫好相應(yīng)的判斷)
run.php 重點在這里,這個文件意味著可以完全嵌入執(zhí)行PHP,可以用PHP來寫數(shù)據(jù)表的增刪查改,也支持文件的刪除,也支持?jǐn)?shù)據(jù)表結(jié)構(gòu)的更新等等!一般OK程序的升級都會有這個的(純文件覆蓋更新連這個都可以忽略的)