原理你应该知道吧?不过好象也只能说说原理了,
1、如果有数据库上的修改,要做好记录,并形成更新数据库的SQL文件。
2、数据库里面做个版本字段,这样可以知道当前用户数据库是哪个版本。
3、软件有个版本字段,用于检查是否需要升级。
4、检查到升级,下载升级文件。
5、运行升级检查,升级数据库。
6、升级程序文件。
谢谢楼上的提示,自己参考dede的程序,把步骤写出来了!
1: 官网指定目录需要一个每次升级的版本记录文件
格式: 更新日期,字符集,版本号,更新标题,更新文件的压缩包(压缩包内是更新需要的文件)
20140415,V5.7.41,20140415常规更新补丁,http://fx_az.taodiantong.com/upgrade/upgrade-20140415.zip
2: 获取客户网站的最近更新日期,该日期可存于数据库或者文件)
3: 读取远程官网更新文件信息,然后比对客户网站需要更新那些压缩包
4: 读取远程压缩包的配置文件(该文件记录压缩包内的文件列表),并根据\配置文件判断是否客户网站是否有写入权限,
如:
下载的文件临时存放在文件夹(../data/20140415)内,如果某些文件自己有改动导致更新中途中错,您可以从这文件夹提取文件手工更新。
本次升级需要在下面文件夹写入更新文件,请注意文件夹是否有写入权限:
../lib/ 状态:[√正常]
../lib/Article/ 状态:[√正常]
../Public/ 状态:[√正常]
5: 下载更新的文件到临时目录(可以直接下载压缩包在解压出文件)下载过程需要显示文件是否下载ok,完成提示安装更新按钮
6: 点击更新首先判断是否有sql文件,有先更新sql,在更新文件
7: 更新完成改写客户网站更新时间,并提示可以删除下载的临时更新文件