##版本升級分析及數據表設計
學習要點:
1. 版本升級分析
2. 掌握如何設計版本升級數據表

Web升級:由開發工程師進行代碼的修改上傳的操作;
App更新:由用戶自行更新版本;

初始化接口 init.php 參數
| |
|---|---|
| app_id | 客戶端分類ID,如安卓 pad等 |
| version_id | 版本號 |
```sql
/**
* version_upgrade 版本升級信息表
*/
CREATE TABLE `version_upgrade` (
`id` smallint(4) unsigned NOT NULL AUTO_INCREMENT,
`app_id` smallint(4) unsigned NOT NULL DEFAULT '0' COMMENT '客戶端設備id 1安卓pad',
`version_id` smallint(4) unsigned DEFAULT '0' COMMENT '大版本號id',
`version_mini` mediumint(8) unsigned DEFAULT '0' COMMENT '小版本號',
`version_code` varchar(10) DEFAULT NULL COMMENT '版本標識 1.2',
`type` tinyint(2) unsigned DEFAULT NULL COMMENT '是否升級 1升級,0不升級,2強制升級',
`apk_url` varchar(255) DEFAULT NULL,
`upgrade_point` varchar(255) DEFAULT NULL COMMENT '升級提示',
`status` tinyint(1) DEFAULT NULL,
`create_time` int(11) NOT NULL,
`update_time` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
INSERT INTO `muke`.`version_upgrade` (`id`, `app_id`, `version_id`, `version_mini`, `version_code`, `type`, `apk_url`, `upgrade_point`, `status`, `create_time`, `update_time`) VALUES ('1', '1', '2', '1', '2.1', '1', 'http://imooc.com', '有新功能了,快來更新', '1', '0', '0');
```
```
/**
* app表 客戶端表
*/
CREATE TABLE `app` (
`id` smallint(4) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵',
`name` varchar(10) DEFAULT NULL COMMENT 'APP類型名稱 如:安卓手機',
`is_encryption` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否加密 1加密 0不加密',
`key` varchar(20) NOT NULL DEFAULT '0' COMMENT '加密key',
`image_size` text COMMENT '按json_encode存儲',
`create_time` int(11) NOT NULL COMMENT '創建時間',
`update_time` int(11) NOT NULL COMMENT '更新時間',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '狀態 1正常 0刪除',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
INSERT INTO `muke`.`app` (`id`, `name`, `is_encryption`, `key`, `image_size`, `create_time`, `update_time`, `status`) VALUES ('1', '安卓pad', '1', 'ss', NULL, '0', '0', '1');
INSERT INTO `muke`.`app` (`id`, `name`, `is_encryption`, `key`, `image_size`, `create_time`, `update_time`, `status`) VALUES ('2', '安卓手機', '1', 'singwa@126.com', NULL, '0', '0', '1');
INSERT INTO `muke`.`app` (`id`, `name`, `is_encryption`, `key`, `image_size`, `create_time`, `update_time`, `status`) VALUES ('3', 'iphone', '1', 'iphone', NULL, '0', '0', '1');
INSERT INTO `muke`.`app` (`id`, `name`, `is_encryption`, `key`, `image_size`, `create_time`, `update_time`, `status`) VALUES ('4', 'ipad', '1', 'ipad&sg2', NULL, '0', '0', '1');
```