refactor(device): 设备平台只记 iOS/Android

去掉系统版本、机型与版本号上报,表结构收敛为 device_id + platform。
This commit is contained in:
jianghaifeng authored and trae-solo-agent committed 2026-10-27 14:00:12 +08:00
1 parent 2dadca6288
commit 229f1d0198
10 files changed
+39 -80

No files matched your search

+15 -16
View File
@@ -1,29 +1,28 @@
-- Author: fruit.com.cn
-- K111 设备画像:记录每个 device_id 的客户端系统与机型。
-- 之前的系统信息只存在于 app_user_session / app_user_device,两者都依赖已登录账号,
-- 游客行为完全拿不到系统;改成按 device_id 独立建档,匿名请求也能落库。
-- K111 设备平台:记录每个 device_id 是 iOS 还是 Android。
-- 会话/设备表都依赖已登录账号,游客行为拿不到平台;这里按 device_id 独立建档,
-- 只存平台,系统版本与机型不上报。
BEGIN;
CREATE TABLE IF NOT EXISTS app_device_profile (
id BIGINT NOT NULL,
device_id VARCHAR(128) NOT NULL,
platform VARCHAR(16) NOT NULL DEFAULT '',
os_version VARCHAR(64) NOT NULL DEFAULT '',
device_model VARCHAR(128) NOT NULL DEFAULT '',
app_version VARCHAR(32) NOT NULL DEFAULT '',
DROP TABLE IF EXISTS app_device_profile;
CREATE TABLE app_device_profile (
id BIGINT NOT NULL,
device_id VARCHAR(128) NOT NULL,
platform VARCHAR(16) NOT NULL DEFAULT '',
first_seen_at TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
last_seen_at TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
created_at TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
deleted SMALLINT NOT NULL DEFAULT 0,
created_at TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
deleted SMALLINT NOT NULL DEFAULT 0,
PRIMARY KEY (id)
);
-- 不带 deleted 谓词:写入用的 ON CONFLICT (device_id) 需要能推断到唯一索引;
-- 设备画像不做软删,重复建档走更新。
CREATE UNIQUE INDEX IF NOT EXISTS uk_app_device_profile_device
-- 设备平台不做软删,重复建档走更新。
CREATE UNIQUE INDEX uk_app_device_profile_device
ON app_device_profile (device_id);
COMMENT ON TABLE app_device_profile IS '设备画像:device_id 维度的客户端系统与机型,匿名请求同样记录';
COMMENT ON TABLE app_device_profile IS '设备平台:device_id 维度区分 iOS/Android,匿名请求同样记录';
COMMIT;