升级包制作
table.sql 必须是完整的数据表结构,才能进行升级比较,基本上这个操作比较复杂,不推荐使用
delete.txt 主要是删除文件操作,除非涉及到安全漏洞,一般我们没必要执行删除操作
update.sql 这里执行的SQL是不进行判断的,如果涉及到升级一关失败了,可能会出错(除非SQL里有写好相应的判断)
结构
将要升级的文件按原目录结构存放
和程序要一起打包的文件有:
version.txt:版本信息
delete.txt:要删除的文件清单(一行一个文件)
table.sql:新版的数据表结构文件,用于执行比较新旧版本数据结构,并调整更改
update.sql:要执行的SQL文件(单独执行)
run.php:如果升级涉及到比较复杂的操作,可以在这里写PHP文件引入执行
升级原理顺序
远程获取升级包数据
将 ZIP 压缩包下载到 _data 目录下
将下载好的压缩包解压到 _data/update/ 目录下
归纳整理文件(主要是收集:version.txt,delete.txt,table.sql,update.sql,run.php)
将 framework 这个目录的文件及文件夹移到现有程序的核心框架(可能用户会因为安全原因改名)
移动其他目录文件(或创建目录)
删除delete.txt清单中的文件【非必须】
执行 table.sql 操作(比较表结构,更新到最新的表结构)【非必须】
运行 update.sql 或是其他的 sql 文件【非必须】
运行 run.php 执行复杂的升级操作【非必须】
删除 _data/update/ 下的文件
基于 version.txt 更新版本记录
特别说明
table.sql 必须是完整的数据表结构,才能进行升级比较,基本上这个操作比较复杂,不推荐使用
delete.txt 主要是删除文件操作,除非涉及到安全漏洞,一般我们没必要执行删除操作
update.sql 这里执行的SQL是不进行判断的,如果涉及到升级一关失败了,可能会出错(除非SQL里有写好相应的判断)
run.php 重点在这里,这个文件意味着可以完全嵌入执行PHP,可以用PHP来写数据表的增删查改,也支持文件的删除,也支持数据表结构的更新等等!一般OK程序的升级都会有这个的(纯文件覆盖更新连这个都可以忽略的)
Array ( [id] => 12 [site_id] => 1 [project_id] => 43 [cate_id] => 8 [thumb] => [content] =>结构
将要升级的文件按原目录结构存放
和程序要一起打包的文件有:
version.txt:版本信息
delete.txt:要删除的文件清单(一行一个文件)
table.sql:新版的数据表结构文件,用于执行比较新旧版本数据结构,并调整更改
update.sql:要执行的SQL文件(单独执行)
run.php:如果升级涉及到比较复杂的操作,可以在这里写PHP文件引入执行
升级原理顺序
远程获取升级包数据
将 ZIP 压缩包下载到 _data 目录下
将下载好的压缩包解压到 _data/update/ 目录下
归纳整理文件(主要是收集:version.txt,delete.txt,table.sql,update.sql,run.php)
将 framework 这个目录的文件及文件夹移到现有程序的核心框架(可能用户会因为安全原因改名)
移动其他目录文件(或创建目录)
删除delete.txt清单中的文件【非必须】
执行 table.sql 操作(比较表结构,更新到最新的表结构)【非必须】
运行 update.sql 或是其他的 sql 文件【非必须】
运行 run.php 执行复杂的升级操作【非必须】
删除 _data/update/ 下的文件
基于 version.txt 更新版本记录
特别说明
table.sql 必须是完整的数据表结构,才能进行升级比较,基本上这个操作比较复杂,不推荐使用
delete.txt 主要是删除文件操作,除非涉及到安全漏洞,一般我们没必要执行删除操作
update.sql 这里执行的SQL是不进行判断的,如果涉及到升级一关失败了,可能会出错(除非SQL里有写好相应的判断)
run.php 重点在这里,这个文件意味着可以完全嵌入执行PHP,可以用PHP来写数据表的增删查改,也支持文件的删除,也支持数据表结构的更新等等!一般OK程序的升级都会有这个的(纯文件覆盖更新连这个都可以忽略的)
[note] => table.sql 必须是完整的数据表结构,才能进行升级比较,基本上这个操作比较复杂,不推荐使用 delete.txt 主要是删除文件操作,除非涉及到安全漏洞,一般我们没必要执行删除操作 update.sql 这里执行的SQL是不进行判断的,如果涉及到升级一关失败了,可能会出错(除非SQL里有写好相应的判断) [plugin_vote] => 0 [linkurl] => [linksite] => [demo] => [parent_id] => 0 [module_id] => 22 [title] => 升级包制作 [dateline] => 1539886018 [lastdate] => 1602297017 [sort] => 0 [status] => 1 [hidden] => 1 [hits] => 1554 [tpl] => [seo_title] => [seo_keywords] => [seo_desc] => [tag] => Array ( [0] => Array ( [id] => 13 [site_id] => 1 [identifier] => [title] => 升级包 [url] => http://yijiakj.top/index.php?c=tag&title=13 [target] => _self [hits] => 2553 [alt] => 升级包 [is_global] => 0 [replace_count] => 0 [seo_title] => [seo_keywords] => [seo_desc] => [tpl] => [title_id] => 12 [html] => 升级包 ) [1] => Array ( [id] => 12 [site_id] => 1 [identifier] => [title] => phpok [url] => http://yijiakj.top/index.php?c=tag&title=12 [target] => _self [hits] => 2616 [alt] => phpok [is_global] => 0 [replace_count] => 0 [seo_title] => [seo_keywords] => [seo_desc] => [tpl] => [title_id] => 12 [html] => phpok ) ) [attr] => [replydate] => 0 [user_id] => 0 [identifier] => [integral] => 0 [style] => [url] => http://yijiakj.top/index.php?id=12&cateid=8 [_catelist] => Array ( [8] => Array ( [id] => 8 [site_id] => 1 [parent_id] => 7 [status] => 1 [title] => 公司新闻 [taxis] => 10 [tpl_list] => [tpl_content] => [psize] => 0 [seo_title] => [seo_keywords] => [seo_desc] => [identifier] => company [tag] => 新闻,公司 [style] => [module_id] => 0 [psize_api] => 0 [url] => http://yijiakj.top/index.php?id=news&cate=company ) ) )