这里会显示出您选择的修订版和当前版本之间的差别。
en:razor:upgrade-instruction-v0-7.1-to-v0-7.2 [2015/10/09 10:06] cobub |
en:razor:upgrade-instruction-v0-7.1-to-v0-7.2 [2017/07/14 11:18] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | ~~Title:Cobub Razor Upgrade Instruction (v0.7.1 to v0.7.2) - Mobile Apps Marketing Platform of Open Source - Mobile Analytics & Mobile Push Notification Solutions - Cobub Mobile Developer Center~~ | ||
- | {{description>Cobub Razor is an Open Source Mobile Analytics. When you are ready to upgrade Cobub Razor from version 0.7.1 to version 0.7.2, following steps is required:.}} | ||
- | {{keywords>Cobub Razor,open source mobile analytics,mobile analytics,mobile app analytics, upgrade}} | ||
- | |||
- | ====== Upgrade Instruction (v0.7.1 to v0.7.2) ====== | ||
- | When you are ready to upgrade Cobub Razor from version 0.7.1 to version 0.7.2, following steps is required: | ||
- | ===== Step one: download the code of V0.7.2 ===== | ||
- | 1、Download the code of version 0.7.2 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.7.1 or V0.7.2 ). To facilitate debugging, you can rename ”web” to “razor_v7.2“, and set the $ config ['base_url'] value to the ‘http://yoururl/razor_v7.2 ‘ in **config.php** which is under the **application** folder. | ||
- | |||
- | 3、Copy the **autoload.php** and **database.php** of V0.7.1 under the directory of **application\config\** to the diretory of **application\config\** of V0.7.2, override these two files of V0.7.2, and replace $route['default_controller'] = “install/installation” to $route['default_controller'] = “report/home” of V0.7.2 in **routes.php**. | ||
- | ===== Step two: modify script files of database and data warehouse ===== | ||
- | Here, assume that your database is razor and data warehouse is razordw, and umsinstall_ is the table prefix of them. | ||
- | |||
- | |||
- | ==== 1、Modify database ==== | ||
- | |||
- | 1)**ci_sessions** | ||
- | ^property name ^property value ^changes^ | ||
- | |ip_address |varchar(45) |varchar(16)-> varchar(45)| | ||
- | **sql** | ||
- | <code> | ||
- | ALTER TABLE `razor.umsinstall_ci_sessions` | ||
- | CHANGE `ip_address` `ip_address` varchar(45); </code> | ||
- | |||
- | |||
- | 2)**clientdata** | ||
- | |||
- | ^property name ^property value ^changes^ | ||
- | |salt |varchar(64) |added| | ||
- | property `insertdate` adds index.**(Attention:If the table has large datas, the execution time may be longe.)** | ||
- | |||
- | **sql** | ||
- | <code> | ||
- | ALTER TABLE `razor.umsinstall_clientdata` | ||
- | ADD COLUMN `salt` varchar(64) DEFAULT NULL,INDEX(`insertdate`);</code> | ||
- | |||
- | 3) **clientusinglog** | ||
- | |||
- | property `insertdate`adds index. | ||
- | |||
- | **sql** | ||
- | <code> | ||
- | ALTER TABLE `razor.umsinstall_clientusinglog` | ||
- | ADD INDEX(`insertdate`);</code> | ||
- | |||
- | 4)**errorlog** | ||
- | |||
- | property `insertdate`adds index. | ||
- | |||
- | **sql** | ||
- | <code> | ||
- | ALTER TABLE `razor.umsinstall_errorlog` | ||
- | ADD INDEX(`insertdate`);</code> | ||
- | |||
- | 5)**eventdata** | ||
- | |||
- | property `insertdate`adds index. | ||
- | |||
- | **sql语句:** | ||
- | <code> | ||
- | ALTER TABLE `razor.umsinstall_eventdata` | ||
- | ADD INDEX(`insertdate`);</code> | ||
- | |||
- | 6) **device_tag** | ||
- | ^property name ^property value ^changes^ | ||
- | |appkey |varchar(64) |productkey->appkey| | ||
- | |||
- | **sql** | ||
- | <code> | ||
- | ALTER TABLE `razor.umsinstall_device_tag` | ||
- | CHANGE `productkey` `appkey` varchar(64);</code> | ||
- | |||
- | ==== 2、Modify the data warehouse ==== | ||
- | === 2.1、Add tables === | ||
- | |||
- | 1)**sum_location** | ||
- | ^property name ^property value ^index ^ | ||
- | |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** | ||
- | <code> | ||
- | 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; | ||
- | </code> | ||
- | |||
- | 2)**sum_devicebrand** | ||
- | ^property name ^property value ^index^ | ||
- | |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** | ||
- | <code> | ||
- | 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; | ||
- | </code> | ||
- | |||
- | 3)**sum_deviceos** | ||
- | ^property name ^property value ^index^ | ||
- | |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** | ||
- | <code> | ||
- | 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; | ||
- | </code> | ||
- | |||
- | 4) **sum_deviceresolution** | ||
- | ^property name ^property value ^index^ | ||
- | |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** | ||
- | <code> | ||
- | 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; | ||
- | </code> | ||
- | |||
- | 5)**sum_devicesupplier** | ||
- | ^property name ^property value ^index^ | ||
- | |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' | | | ||
- | **sq语句:** | ||
- | <code> | ||
- | 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; | ||
- | </code> | ||
- | |||
- | 6)**sum_devicenetwork** | ||
- | ^property name ^property value ^index^ | ||
- | |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** | ||
- | <code> | ||
- | 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; | ||
- | </code> | ||
- | |||
- | 7)**sum_event** | ||
- | ^property name ^property name ^index^ | ||
- | |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** | ||
- | <code> | ||
- | 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; | ||
- | </code> | ||
- | |||
- | 8)**deviceid_userid** | ||
- | ^property name ^property name ^index^ | ||
- | |did |int(11) unsigned NOT NULL AUTO_INCREMENT |PRIMARY KEY| | ||
- | |deviceid |varchar(128) NOT NULL | | | ||
- | |userid |varchar(128) NOT NULL | | | ||
- | **sql** | ||
- | <code> | ||
- | 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; | ||
- | </code> | ||
- | |||
- | 9)**deviceid_pushid** | ||
- | ^property name ^property value ^index^ | ||
- | |did |int(11) unsigned NOT NULL AUTO_INCREMENT |PRIMARY KEY| | ||
- | |deviceid |varchar(128) NOT NULL | | | ||
- | |pushid |varchar(128) NOT NULL | | | ||
- | **sql** | ||
- | <code> | ||
- | 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; | ||
- | </code> | ||
- | |||
- | ===== 2.2 Modify tables ===== | ||
- | |||
- | 1)**dim_date** | ||
- | |||
- | ^property name ^property name ^changes^ | ||
- | |datevalue | |NOT NULL->NOT NULL AUTO_INCREMENT| | ||
- | **sql** | ||
- | <code> | ||
- | ALTER TABLE `razordw.umsinstall_dim_date` | ||
- | CHANGE `datevalue` `datevalue` NOT NULL AUTO_INCREMENT; | ||
- | </code> | ||
- | |||
- | 2)**dim_devicesupplier** | ||
- | |||
- | ^property name ^property value ^changes^ | ||
- | |devicesupplier_name |varchar(128) |varchar(60)-> varchar(128)| | ||
- | **sql** | ||
- | <code> | ||
- | ALTER TABLE `razordw.umsinstall_dim_devicesupplier` | ||
- | CHANGE `devicesupplier_name` `devicesupplier_name` varchar(128); | ||
- | </code> | ||
- | |||
- | 3) **fact_event** | ||
- | |||
- | property `date_sk`add indexs | ||
- | |||
- | **sql** | ||
- | <code> | ||
- | ALTER TABLE `razordw.umsinstall_fact_event` | ||
- | ADD INDEX(`date_sk`,`product_sk`);</code> | ||
- | |||
- | 4)**dim_date** | ||
- | |||
- | Delete datevalue data before January 1, 2015 in the table. | ||
- | |||
- | **sql** | ||
- | <code> | ||
- | DELETE FROM umsinstall_dim_date | ||
- | WHERE date_sk BETWEEN 1 AND 1827</code> | ||
- | |||
- | |||
- | |||
- | ==== 3、Modify the stored procedures ==== | ||
- | |||
- | |||
- | 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.7.2 : **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_“. | ||
- | ===== Step three: stop inserting data to database and pause the stored procedures. ===== | ||
- | |||
- | |||
- | |||
- | Note: you need to have prepared all the relevant SQL scripts(i.e. all sql scripts in Step two). | ||
- | |||
- | |||
- | ===== Step four: delete all stored procedures in data warehouse. ===== | ||
- | |||
- | |||
- | |||
- | ===== Step five: execute the SQL scripts generated in Step two. ===== | ||
- | |||
- | |||
- | Note: Please backup the data of your database and data warehouse before you execute the sql scripts. | ||
- | |||
- | |||
- | ===== Step six:restart the database and data warehouse. ===== | ||
- | |||
- | |||
- | 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.7.1),store it in a suitable place and named web-backup0.7.1, then delete **web**. | ||
- | |||
- | Change”razor_v7.2” to “web”(the name of V0.7.1),and set $config['base_url']= ‘http://yoururl/web’ in **config.php**. | ||