feat: manage global app release policies

This commit is contained in:
richjohnrambo
2026-09-12 17:08:10 +08:00
parent 2fb5102add
commit 6e65935e3c
8 changed files with 220 additions and 74 deletions
@@ -0,0 +1,26 @@
-- Global MeetingIM client release policy. This table belongs to hotgo and is not tenant-scoped.
CREATE TABLE IF NOT EXISTS `im_app_releases` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`platform` VARCHAR(32) NOT NULL,
`channel` VARCHAR(32) NOT NULL DEFAULT 'stable',
`latest_version` VARCHAR(64) NOT NULL,
`min_supported_version` VARCHAR(64) NOT NULL,
`update_type` VARCHAR(16) NOT NULL DEFAULT 'none',
`release_notes` TEXT NOT NULL,
`store_url` VARCHAR(512) NOT NULL DEFAULT '',
`package_url` VARCHAR(512) NOT NULL DEFAULT '',
`checksum` VARCHAR(128) NOT NULL DEFAULT '',
`remind_after_seconds` INT NOT NULL DEFAULT 0,
`published_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
`updated_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
PRIMARY KEY (`id`),
UNIQUE KEY `uk_im_app_releases_platform_channel` (`platform`, `channel`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MeetingIM全局客户端版本策略';
INSERT INTO `im_app_releases`
(`platform`, `channel`, `latest_version`, `min_supported_version`, `update_type`, `release_notes`)
VALUES
('ios', 'stable', '1.0.0', '1.0.0', 'none', '当前已是最新版本。'),
('android', 'stable', '1.0.0', '1.0.0', 'none', '当前已是最新版本。')
ON DUPLICATE KEY UPDATE `platform` = VALUES(`platform`);