~~Title:Cobub Razor V7.1-v7.2升级手册 - 开源移动应用运营平台 - 移动统计、移动推送解决方案 - Cobub 移动开发者中心~~ {{description>Cobub Razor V7.1-v7.2升级手册}} {{keywords>Cobub Razor,开源移动应用分析,移动分析,移动应用分析,升级手册}} ====== V7.1-v7.2升级手册 ====== Cobub Razor从版本0.7.1升级到版本0.7.2,具体需要如下步骤: ===== 步骤一: 下载V0.7.2版本最新代码 ===== 1、从 [[https://github.com/cobub/razor|https://github.com/cobub/razor]] 下载0.7.2版本的代码,得到razor-master.zip压缩包,将其解压得到razor-master文件夹,里面包含sdk和web文件夹等。 2、将上面的 web 文件夹复制你准备升级部署网站的web目录下(注意复制前 web 名称不能与前几个版本的名称相同)。为了方便调试,你可以将”web”修改成”razor_v7.2″,并将里面的application文件夹下的config.php文件中的$config['base_url']= ‘http://yoururl/razor_v7.2′。 3、将0.7.1版本的application\config\目录下的文件autoload.php、database.php复制到0.7.2版本的application\config\目录下,覆盖0.7.2版本的这两个文件,并把0.7.2版本里的routes.php文件中的$route['default_controller'] = “install/installation” 修改成 $route['default_controller'] = “report/home”。 ===== 步骤二: 准备修改数据库和数据仓库的脚本文件 ===== 这里假设你的数据库为 razor ,数据仓库为 razordw ,数据库和数据仓库中的表前缀均为 **umsinstall_** 。 ====== 1、修改数据库 ====== ===== 修改表 ===== 1)修改表 **ci_sessions** ^属性名称 ^属性值 ^变化^ |ip_address |varchar(45) |varchar(16)-> varchar(45)| **sql语句:** ALTER TABLE `razor.umsinstall_ci_sessions` CHANGE `ip_address` `ip_address` varchar(45); 2)修改表 **clientdata** ^属性名称 ^属性值 ^变化^ |salt |varchar(64) |新增| 属性`insertdate`增加索引。**(注:如果表数据量比较大,执行时间可能较长。)** **sql语句:** ALTER TABLE `razor.umsinstall_clientdata` ADD COLUMN `salt` varchar(64) DEFAULT NULL,INDEX(`insertdate`); 3)修改表 **clientusinglog** 属性`insertdate`增加索引。 **sql语句:** ALTER TABLE `razor.umsinstall_clientusinglog` ADD INDEX(`insertdate`); 4)修改表 **errorlog** 属性`insertdate`增加索引。 **sql语句:** ALTER TABLE `razor.umsinstall_errorlog` ADD INDEX(`insertdate`); 5)修改表 **eventdata** 属性`insertdate`增加索引。 **sql语句:** ALTER TABLE `razor.umsinstall_eventdata` ADD INDEX(`insertdate`); 6)修改表 **device_tag** ^属性名称 ^属性值 ^变化^ |appkey |varchar(64) |productkey->appkey| **sql语句:** ALTER TABLE `razor.umsinstall_device_tag` CHANGE `productkey` `appkey` varchar(64); ====== 2、修改数据仓库 ====== ===== 2.1、增加表 ===== 1)新增表 **sum_location** ^属性名称 ^属性值 ^索引 ^ |lid |int(11) NOT NULL AUTO_INCREMENT |PRIMARY KEY| |product_id |int(11) NOT NULL | | |date_sk |int(11) NOT NULL | | |location_sk |int(11) NOT NULL | | |sessions |int(11) NOT NULL DEFAULT '0' | | |newusers |int(11) NOT NULL DEFAULT '0' | | **sql语句:** CREATE TABLE `razor.umsinstall_sum_location` ( `lid` int(11) NOT NULL AUTO_INCREMENT, `product_id` int(11) NOT NULL, `date_sk` int(11) NOT NULL, `location_sk` int(11) NOT NULL, `sessions` int(11) NOT NULL DEFAULT '0', `newusers` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`lid`), UNIQUE KEY `index_location` (`product_id`,`date_sk`,`location_sk`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; 2)新增表 **sum_devicebrand** ^属性名称 ^属性值 ^索引 ^ |did |int(11) NOT NULL AUTO_INCREMENT |PRIMARY KEY| |product_id |int(11) NOT NULL | | |date_sk |int(11) NOT NULL | | |devicebrand_sk |int(11) NOT NULL | | |sessions |int(11) NOT NULL DEFAULT '0' | | |newusers |int(11) NOT NULL DEFAULT '0' | | **sql语句:** CREATE TABLE `razor.umsinstall_sum_devicebrand` ( `did` int(11) NOT NULL AUTO_INCREMENT, `product_id` int(11) NOT NULL, `date_sk` int(11) NOT NULL, `devicebrand_sk` int(11) NOT NULL, `sessions` int(11) NOT NULL DEFAULT '0', `newusers` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`did`), UNIQUE KEY `index_devicebrand` (`product_id`,`date_sk`,`devicebrand_sk`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; 3)新增表 **sum_deviceos** ^属性名称 ^属性值 ^索引 ^ |did |int(11) NOT NULL AUTO_INCREMENT |PRIMARY KEY| |product_id |int(11) NOT NULL | | |date_sk |int(11) NOT NULL | | |deviceos_sk |int(11) NOT NULL | | |sessions |int(11) NOT NULL DEFAULT '0' | | |newusers |int(11) NOT NULL DEFAULT '0' | | **sql语句:** CREATE TABLE `razor.umsinstall_sum_deviceos` ( `did` int(11) NOT NULL AUTO_INCREMENT, `product_id` int(11) NOT NULL, `date_sk` int(11) NOT NULL, `deviceos_sk` int(11) NOT NULL, `sessions` int(11) NOT NULL DEFAULT '0', `newusers` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`did`), UNIQUE KEY `index_deviceos`(`product_id`,`date_sk`,`deviceos_sk`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; 4)新增表 **sum_deviceresolution** ^属性名称 ^属性值 ^索引 ^ |did |int(11) NOT NULL AUTO_INCREMENT |PRIMARY KEY | |product_id |int(11) NOT NULL | | |date_sk |int(11) NOT NULL | | |deviceresolution_sk |int(11) NOT NULL | | |sessions |int(11) NOT NULL DEFAULT '0' | | |newusers |int(11) NOT NULL DEFAULT '0' | | **sql语句:** CREATE TABLE `razor.umsinstall_sum_deviceresolution` ( `did` int(11) NOT NULL AUTO_INCREMENT, `product_id` int(11) NOT NULL, `date_sk` int(11) NOT NULL, `deviceresolution_sk` int(11) NOT NULL, `sessions` int(11) NOT NULL DEFAULT '0', `newusers` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`did`), UNIQUE KEY 'index_deviceresolution'(`product_id`,`date_sk`,`deviceresolution_sk`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; 5)新增表 **sum_devicesupplier** ^属性名称 ^属性值 ^索引 ^ |did |int(11) NOT NULL AUTO_INCREMENT |PRIMARY KEY| |product_id |int(11) NOT NULL | | |date_sk |int(11) NOT NULL | | |devicesupplier_sk |int(11) NOT NULL | | |sessions |int(11) NOT NULL DEFAULT '0' | | |newusers |int(11) NOT NULL DEFAULT '0' | | **sql语句:** CREATE TABLE `razor.umsinstall_sum_devicesupplier` ( `did` int(11) NOT NULL AUTO_INCREMENT, `product_id` int(11) NOT NULL, `date_sk` int(11) NOT NULL, `devicesupplier_sk` int(11) NOT NULL, `sessions` int(11) NOT NULL DEFAULT '0', `newusers` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`did`), UNIQUE KEY `index_devicesupplier`(`product_id`,`date_sk`,`devicesupplier_sk`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; 6)新增表 **sum_devicenetwork** ^属性名称 ^属性值 ^索引 ^ |did |int(11) NOT NULL AUTO_INCREMENT |PRIMARY KEY | |product_id |int(11) NOT NULL | | |date_sk |int(11) NOT NULL | | |devicenetwork_sk |int(11) NOT NULL | | |sessions |int(11) NOT NULL DEFAULT '0' | | |newusers |int(11) NOT NULL DEFAULT '0' | | **sql语句:** CREATE TABLE `razor.umsinstall_sum_devicenetwork` ( `did` int(11) NOT NULL AUTO_INCREMENT, `product_id` int(11) NOT NULL, `date_sk` int(11) NOT NULL, `devicenetwork_sk` int(11) NOT NULL, `sessions` int(11) NOT NULL DEFAULT '0', `newusers` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`did`), UNIQUE KEY `index_devicenetwork`(`product_id`,`date_sk`,`devicenetwork_sk`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; 7)新增表 **sum_event** ^属性名称 ^属性值 ^索引 ^ |eid |int(11) NOT NULL AUTO_INCREMENT |PRIMARY KEY| |product_id |int(11) NOT NULL | | |date_sk |int(11) NOT NULL | | |event_sk |int(11) NOT NULL | | |sessions |int(11) NOT NULL DEFAULT '0' | | |newusers |int(11) NOT NULL DEFAULT '0' | | **sql语句:** CREATE TABLE `razor.umsinstall_sum_event` ( `eid` int(11) NOT NULL AUTO_INCREMENT, `product_id` int(11) NOT NULL, `date_sk` int(11) NOT NULL, `event_sk` int(11) NOT NULL, `total` int(11) NOT NULL, PRIMARY KEY (`eid`), UNIQUE KEY `product_sk`(`product_id`,`date_sk`,`event_sk`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; 8)新增表 **deviceid_userid** ^属性名称 ^属性值 ^索引 ^ |did |int(11) unsigned NOT NULL AUTO_INCREMENT |PRIMARY KEY| |deviceid |varchar(128) NOT NULL | | |userid |varchar(128) NOT NULL | | **sql语句:** CREATE TABLE `razor.umsinstall_deviceid_userid` ( `did` int(11) NOT NULL AUTO_INCREMENT, `deviceid` varchar(128) NOT NULL, `userid ` varchar(128) NOT NULL, PRIMARY KEY (`did`), UNIQUE KEY `deviceid`(`deviceid`,`userid`), KEY `userid` (`userid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; 9)新增表 **deviceid_pushid** ^属性名称 ^属性值 ^索引 ^ |did |int(11) unsigned NOT NULL AUTO_INCREMENT |PRIMARY KEY| |deviceid |varchar(128) NOT NULL | | |pushid |varchar(128) NOT NULL | | **sql语句:** CREATE TABLE `razor.umsinstall_deviceid_pushid` ( `did` int(11) NOT NULL AUTO_INCREMENT, `deviceid` varchar(128) NOT NULL, `pushid` varchar(128) NOT NULL, PRIMARY KEY (`did`), UNIQUE KEY `deviceid`(`deviceid`,`pushid`), KEY `pushid` (`pushid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; ===== 2.2修改表 ===== 1)修改表 **dim_date** ^属性名称 ^属性值 ^变化^ |datevalue | |TIMEStamp->Date| **sql语句:** ALTER TABLE `razordw.umsinstall_dim_date` CHANGE `datevalue` `datevalue` date NOT NULL; 2)修改表 **dim_devicesupplier** ^属性名称 ^属性值 ^变化^ |devicesupplier_name |varchar(128) |varchar(60)-> varchar(128)| **sql语句:** ALTER TABLE `razordw.umsinstall_dim_devicesupplier` CHANGE `devicesupplier_name` `devicesupplier_name` varchar(128); 3)修改表 **fact_event** 属性`date_sk`增加索引。 **sql语句:** ALTER TABLE `razordw.umsinstall_fact_event` ADD INDEX(`date_sk`,`product_sk`); 4)修改表**'dim_date'** 删除表中datevalue在2015年1月1日以前的数据 **sql语句:** DELETE FROM umsinstall_dim_date WHERE date_sk BETWEEN 1 AND 1827 ====== 3、修改存储过程 ====== 修改存储过程 **rundaily** 、 **rundim** 、 **runfact** 、 **runmonthly** 、 **runsum** 和 **runweekly** 。 步骤: 步骤一:下载新的v0.7.2版本的代码,目录assets\sql下的存储过程有 sp_rundaily.sql 、 sp_rundim.sql 、 sp_runfact.sql 、 sp_runmonthly.sql 、 sp_runsum.sql和 sp_runweekly.sql 。 步骤二:修改表前缀名,将各个存储过程中的umsinstall_修改为你数据仓库中的表前缀名,如你的数据仓库中的表前缀为”razordw_”;另外将其中的“databaseprefix.umsdatainstall_”换成“数据库名称.基础数据库前缀”,如你的数据库名称为cobubrazor,数据库表前缀为razor_,则修改为“cobubrazor.razor_”。 步骤三: 暂停数据库的数据插入和及数据仓库中的抽数过程。 暂时停止前请先准备好相关的SQL脚本(即步骤二中生成的相关脚本)。 步骤四: 删除数据仓库中所有存储过程。 步骤五: 执行步骤二中生成的相关sql脚本。 执行相关脚本前,请先备份一下数据库和数据仓库中的数据。 步骤六:重新启动数据库和数据仓库。 重启数据库和数据仓库前,请先将步骤一中的第2步中以前版本的“web”目录备份,命名为web-backup0.7.1,存储在合适的地方,删除“web”。然后将“razor_v7.2”修改成“web”(以前的版本的名称),并修改config.php文件的$config['base_url']= ‘http://yoururl/web’。