~~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’。