| 12345678910111213141516171819202122232425262728293031323334353637 |
- -- V5__add_client_distribution.sql
- -- 客户端 App 版本分发平台:分发表 + 版本表
- -- ==========================================
- -- Step 1: 创建客户端分发表
- -- ==========================================
- CREATE TABLE IF NOT EXISTS client_distributions (
- id INT AUTO_INCREMENT PRIMARY KEY,
- name VARCHAR(100) NOT NULL COMMENT '分发名称',
- description TEXT NULL COMMENT '分发描述',
- icon_url VARCHAR(255) NULL COMMENT '图标URL',
- owner_id INT NOT NULL COMMENT '创建者 user_id',
- is_deleted TINYINT(1) NOT NULL DEFAULT 0 COMMENT '软删除 0:否 1:是',
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
- updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- INDEX idx_owner_id (owner_id),
- INDEX idx_is_deleted (is_deleted),
- CONSTRAINT fk_client_distributions_owner FOREIGN KEY (owner_id) REFERENCES users(id)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='客户端分发表';
- -- ==========================================
- -- Step 2: 创建客户端版本表
- -- ==========================================
- CREATE TABLE IF NOT EXISTS client_versions (
- id INT AUTO_INCREMENT PRIMARY KEY,
- distribution_id INT NOT NULL COMMENT '分发ID',
- version_code VARCHAR(32) NOT NULL COMMENT '版本号如 1.2.3',
- version_name VARCHAR(100) NULL COMMENT '显示名称',
- release_notes TEXT NULL COMMENT '更新内容',
- object_key VARCHAR(512) NOT NULL COMMENT 'MinIO 对象键',
- file_size BIGINT NULL COMMENT '文件大小(字节)',
- platform VARCHAR(32) NULL COMMENT '平台 ios/android/windows',
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
- INDEX idx_distribution_id (distribution_id),
- UNIQUE KEY uq_dist_version (distribution_id, version_code),
- CONSTRAINT fk_client_versions_distribution FOREIGN KEY (distribution_id) REFERENCES client_distributions(id) ON DELETE CASCADE
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='客户端版本表';
|