该文档适用于Cobub Razor 0.7版本。
Cobub Razor从版本0.5升级到版本0.6,具体需要如下步骤:
1、从 https://github.com/cobub/razor 下载0.6版本的代码,得到razor-master.zip压缩包,将其解压得到razor-master文件夹,里面包含sdk和web文件夹等。
2、将上面的 web 文件夹复制你准备升级部署网站的web目录下(注意复制前 web 名称不能与前几个版本的名称相同)。为了方便调试,你可以将”web”修改成”razor_v6″,并将里面的application文件夹下的config.php文件中的$config['base_url']= ‘http://yoururl/razor_v6′。
3、将0.5版本的application\config\目录下的文件autoload.php、database.php复制到0.6版本的application\config\目录下,覆盖0.6版本的这两个文件,并把0.6版本里的routes.php文件中的$route['default_controller'] = “install/installation” 修改成 $route['default_controller'] = “report/home”。
这里假设你的数据库为 razor ,数据仓库为 razordw ,数据库和数据仓库中的表前缀均为 umsinstall_ 。
1)新增表 getui_product
属性名称 | 属性值 | 索引 |
---|---|---|
id | int(11) NOT NULL AUTO_INCREMENT | PRIMARY KEY |
product_id | int(11) DEFAULT NULL | |
is_active | tinyint(4) DEFAULT NULL | |
app_id | varchar(25) DEFAULT NULL | |
user_id | int(8) DEFAULT NULL | |
app_key | varchar(25) NOT NULL | |
app_secret | varchar(25) NOT NULL | |
app_mastersecret | varchar(25) NOT NULL | |
app_identifier | varchar(25) NOT NULL | |
activate_date | datetime NOT NULL |
sql语句(注意修改表前缀umsinstall_,下同):
CREATE TABLE `razor.umsinstall_getui_product` ( `id` int(11) NOT NULL AUTO_INCREMENT, `product_id` int(11) DEFAULT NULL, `is_active` tinyint(4) DEFAULT NULL, `app_id` varchar(25) DEFAULT NULL, `user_id` int(8) DEFAULT NULL, `app_key` varchar(25) NOT NULL, `app_secret` varchar(25) NOT NULL, `app_mastersecret` varchar(25) NOT NULL, `app_identifier` varchar(25) NOT NULL, `activate_date` datetime NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2)新增表 plugins
属性名称 | 属性值 | 索引 |
---|---|---|
id | int(11) NOT NULL AUTO_INCREMENT | PRIMARY KEY |
identifier | varchar(50) NOT NULL | |
user_id | int(50) NOT NULL | |
status | int(10) NOT NULL |
sql语句:
CREATE TABLE `razor.umsinstall_plugins` ( `id` int(11) NOT NULL AUTO_INCREMENT, `identifier` varchar(50) NOT NULL, `user_id` int(50) NOT NULL, `status` int(10) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
3)新增表 tag_group
属性名称 | 属性值 | 索引 |
---|---|---|
id | int(4) NOT NULL AUTO_INCREMENT | PRIMARY KEY |
product_id | int(4) NOT NULL | |
name | varchar(200) NOT NULL | |
tags | varchar(5000) NOT NULL | |
time | timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP |
sql语句:
CREATE TABLE `razor.umsinstall_tag_group` ( `id` int(4) NOT NULL AUTO_INCREMENT, `product_id` int(4) NOT NULL, `name` varchar(200) NOT NULL, `tags` varchar(5000) NOT NULL, `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
4)新增表 userkeys
属性名称 | 属性值 | 索引 |
---|---|---|
id | int(20) NOT NULL AUTO_INCREMENT | PRIMARY KEY |
user_id | int(20) NOT NULL | |
user_key | varchar(50) NOT NULL | |
user_secret | varchar(50) NOT NULL |
sql语句:
CREATE TABLE `umsinstall_userkeys` ( `id` int(20) NOT NULL AUTO_INCREMENT, `user_id` int(20) NOT NULL, `user_key` varchar(50) NOT NULL, `user_secret` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
1)修改表 channel_product
属性名称 | 属性值 | 变化 |
---|---|---|
description | varchar(5000) | NOT NULL→ DEFAULT NULL |
sql语句:
ALTER TABLE `razor.umsinstall_channel_product` CHANGE `description` `description` VARCHAR(5000) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL;
2)修改表 eventdata
属性名称 | 属性值 | 变化 |
---|---|---|
deviceid | varchar(50) | NOT NULL → DEFAULT NULL |
category | varchar(50) | NOT NULL → DEFAULT NULL |
event | varchar(50) | NOT NULL → DEFAULT NULL |
label | varchar(50) | NOT NULL → DEFAULT NULL |
attachment | varchar(50) | NOT NULL → DEFAULT NULL |
sql语句:
ALTER TABLE `razor.umsinstall_eventdata` CHANGE `deviceid` `deviceid` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL;
注:其他列category,event,label,attachment类似方法修改。
3)修改表 markevent
属性名称 | 属性值 | 变化 |
---|---|---|
productid | int(50) | NOT NULL → NOT NULL DEFAULT ‘-1′ |
sql语句:
ALTER TABLE `razor.umsinstall_markevent` CHANGE `productid` `productid` INT( 50 ) NOT NULL DEFAULT '-1';
4)修改表 reportlayout
属性名称 | 属性值 | 变化 |
---|---|---|
method | varchar(45) | NOT NULL → DEFAULT ‘ ‘ |
sql语句:
ALTER TABLE `razor.umsinstall_reportlayout` CHANGE `method` `method` VARCHAR(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT ' ';
1)新增表 sum_reserveusers_daily
属性名称 | 属性值 | 索引 | |
---|---|---|---|
rid | int(11) NOT NULL AUTO_INCREMENT | PRIMARY KEY | |
startdate_sk | int(11) NOT NULL | ||
enddate_sk | int(11) NOT NULL | ||
product_id | int(11) NOT NULL | ||
version_name | varchar(128) NOT NULL | ||
channel_name | varchar(128) NOT NULL | ||
usercount | int(11) NOT NULL DEFAULT 0 | ||
day1 | int(11) NOT NULL DEFAULT 0 | ||
day2 | int(11) NOT NULL DEFAULT 0 | ||
day3 | int(11) NOT NULL DEFAULT 0 | ||
day4 | int(11) NOT NULL DEFAULT 0 | ||
day5 | int(11) NOT NULL DEFAULT 0 | ||
day6 | int(11) NOT NULL DEFAULT 0 | ||
day7 | int(11) NOT NULL DEFAULT 0 | ||
day8 | int(11) NOT NULL DEFAULT 0 |
联合唯一键: UNIQUE KEY `startdate_sk` (`startdate_sk`, `enddate_sk`, `product_id`, `version_name`, `channel_name`)
sql语句:
CREATE TABLE `razordw.umsinstall_sum_reserveusers_daily` ( `rid` int(11) NOT NULL AUTO_INCREMENT, `startdate_sk` int(11) NOT NULL, `enddate_sk` int(11) NOT NULL, `product_id` int(11) NOT NULL, `version_name` varchar(128) NOT NULL, `channel_name` varchar(128) NOT NULL, `usercount` int(11) NOT NULL DEFAULT 0, `day1` int(11) NOT NULL DEFAULT 0, `day2` int(11) NOT NULL DEFAULT 0, `day3` int(11) NOT NULL DEFAULT 0, `day4` int(11) NOT NULL DEFAULT 0, `day5` int(11) NOT NULL DEFAULT 0, `day6` int(11) NOT NULL DEFAULT 0, `day7` int(11) NOT NULL DEFAULT 0, `day8` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`rid`), UNIQUE KEY `startdate_sk` (`startdate_sk`,`enddate_sk`,`product_id`,`version_name`,`channel_name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1)修改表 fact_event
属性名称 | 属性值 | 变化 |
---|---|---|
deviceid | varchar(50) | NOT NULL → DEFAULT NULL |
category | varchar(50) | NOT NULL → DEFAULT NULL |
label | varchar(50) | NOT NULL → DEFAULT NULL |
attachment | varchar(50) | NOT NULL → DEFAULT NULL |
sql语句:
ALTER TABLE `razordw.umsinstall_fact_event` CHANGE `deviceid` `deviceid` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL;
注:其他列类似。
2)修改表 log
属性名称 | 属性值 | 变化 |
---|---|---|
op_date | datetime | NOT NULL → DEFAULT NULL |
affected_rows | int(11) | NOT NULL → DEFAULT NULL |
duration | int(11) | NOT NULL → DEFAULT NULL |
sql语句:
ALTER TABLE `razordw.umsinstall_log` CHANGE `op_date` `op_date` datetime DEFAULT NULL;
注:其他列类似。
新增属性名称为op_starttime,属性值为datetime DEFAULT NULL。
sql语句:
ALTER TABLE `razordw.umsinstall_log` ADD COLUMN `op_starttime` datetime DEFAULT NULL;
3)修改表 fact_reserveusers_monthly
修改表名 fact_reserveusers_monthly 为 sum_reserveusers_monthly; sql语句:
RENAME TABLE `razordw.umsinstall_fact_reserveusers_monthly` TO `razordw.umsinstall_sum_reserveusers_monthly`;
新增属性名称channel_name,属性值为 varchar(128) NOT NULL;
sql语句:
ALTER TABLE `razordw.umsinstall_sum_reserveusers_monthly` ADD COLUMN `channel_name` varchar(128) NOT NULL;
联合唯一键由 UNIQUE KEY `startdate_sk` (`startdate_sk`,`enddate_sk`,`product_id`,`version_name`) 修改为UNIQUE KEY `startdate_sk` (`startdate_sk`,`enddate_sk`,`product_id`,`version_name`,`channel_name`)。
sql语句:
ALTER TABLE `razordw.umsinstall_sum_reserveusers_monthly` ADD UNIQUE( `startdate_sk`, `enddate_sk`, `product_id`, `version_name`, `channel_name`);
4)修改表 fact_reserveusers_weekly
修改表名 fact_reserveusers_weekly 为 sum_reserveusers_weekly;
sql语句:
RENAME TABLE `razordw.umsinstall_fact_reserveusers_weekly` TO `razordw.umsinstall_sum_reserveusers_weekly`;
新增属性名称channel_name,属性值为 varchar(128) NOT NULL;
sql语句:
ALTER TABLE `razordw.umsinstall_sum_reserveusers_weekly` ADD COLUMN `channel_name` varchar(128) NOT NULL;
联合唯一键由 UNIQUE KEY `startdate_sk` (`startdate_sk`,`enddate_sk`,`product_id`,`version_name`) 修改为UNIQUE KEY `startdate_sk` (`startdate_sk`,`enddate_sk`,`product_id`,`version_name`,`channel_name`)。
sql语句:
ALTER TABLE `razordw.umsinstall_sum_reserveusers_weekly` ADD UNIQUE( `startdate_sk`, `enddate_sk`, `product_id`, `version_name`, `channel_name`);
修改存储过程 rundaily 、 rundim 、 runfact 、 runmonthly 、 runsum 和 runweekly 。
步骤: 步骤一:下载新的v0.6版本的代码,目录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.5,存储在合适的地方,删除“web”。然后将“razor_v6”修改成“web”(以前的版本的名称),并修改config.php文件的$config['base_url']= ‘http://yoururl/web’。