该文档适用于Cobub Razor 0.7版本。
Cobub Razor从版本0.7.1升级到版本0.7.2,具体需要如下步骤:
1、从 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)修改表 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);
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;
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
修改存储过程 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’。