When you are ready to upgrade Cobub Razor from version 0.5 to version 0.6, following steps is required:
1、Download the code of version 0.6 from https://github.com/cobub/razor , and you can get the razor-master.zip, unzip it to get razor-master folder, which contains the sdk and web folders.
2、Copy the web folder to the directory of your web site where you are ready to upgrade Cobub Razor (Note: web can not be the same name with Cobub Razor’s name of V0.4 or V0.5 ). To facilitate debugging, you can rename ”web” to “razor_v6“, and set the $ config ['base_url'] value to the ‘http://yoururl/razor_v6 ‘ in config.php which is under the application folder.
3、Copy the autoload.php and database.php of V0.5 under the directory of application\config\ to the diretory of application\config\ of V0.6, override these two files of V0.6, and replace $route['default_controller'] = “install/installation” to $route['default_controller'] = “report/home” of V0.6 in routes.php.
Here, assume that your database is razor and data warehouse is razordw, and umsinstall_ is the table prefix of them.
property name | property value | index |
---|---|---|
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:
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;
property name | property value | index |
---|---|---|
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;
property name | property value | index |
---|---|---|
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;
property name | property value | index |
---|---|---|
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;
property name | property value | index | |
---|---|---|---|
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: 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;
property name | property value | changes |
---|---|---|
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;
Note: Other columns are similar.
property name | property value | changes |
---|---|---|
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;
Note: Other columns are similar.
add:
property name:op_starttime
property value:datetime DEFAULT NULL
sql:
ALTER TABLE `razordw.umsinstall_log` ADD COLUMN `op_starttime` datetime DEFAULT NULL;
Rename ‘fact_reserveusers_monthly’ to ‘sum_reserveusers_monthly`;
sql:
RENAME TABLE `razordw.umsinstall_fact_reserveusers_monthly` TO `razordw.umsinstall_sum_reserveusers_monthly`;
add:
property name:channel_name
property value:varchar(128) NOT NULL
sql:
ALTER TABLE `razordw.umsinstall_sum_reserveusers_monthly` ADD COLUMN `channel_name` varchar(128) NOT NULL;
modify unique key: change UNIQUE KEY `startdate_sk` (`startdate_sk`,`enddate_sk`,`product_id`,`version_name`) to 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`);
Rename ‘fact_reserveusers_weekly’ to ‘sum_reserveusers_weekly’.
sql:
RENAME TABLE `razordw.umsinstall_fact_reserveusers_weekly` TO `razordw.umsinstall_sum_reserveusers_weekly`;
add: property name:channel_name
property value:varchar(128) NOT NULL sql:
ALTER TABLE `razordw.umsinstall_sum_reserveusers_weekly` ADD COLUMN `channel_name` varchar(128) NOT NULL;
change UNIQUE KEY `startdate_sk` (`startdate_sk`,`enddate_sk`,`product_id`,`version_name`) to 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`);
Stored procedures: rundaily 、 rundim 、 runfact 、 runmonthly 、 runsum and runweekly 。
Steps:
1)you will get six sql script files under the directory of assets\sql of V0.6 : sp_rundaily.sql 、 sp_rundim.sql 、 sp_runfact.sql 、 sp_runmonthly.sql 、 sp_runsum.sql and sp_runweekly.sql.
2) modify table prefix
Modify the umsinstall_ in all sql scirpt files above to your own data warehouse’s table prefix, for example,your data warehouse table prefix “razordw_”;
Replace the “databaseprefix.umsdatainstall_” to “database.database’s table prefix”, for example, your database is cobubrazor,and database’s table prefix is razor_,the ”databaseprefix.umsdatainstall_” should be “cobubrazor.razor_“.
Note: you need to have prepared all the relevant SQL scripts(i.e. all sql scripts in Step two).
Note: Please backup the data of your database and data warehouse before you execute the sql scripts.
Before this step, you need to do the last thing :
Backup the directory of the previous web site(e.g web,which is the root directory of version 0.5),store it in a suitable place and named web-backup0.5, then delete web.
Change”razor_v6” to “web”(the name of V0.5),and set $config['base_url']= ‘http://yoururl/web’ in config.php.