29 lines
1.2 KiB
PL/PgSQL
29 lines
1.2 KiB
PL/PgSQL
-- Author: fruit.com.cn
|
|
-- K111 设备平台:记录每个 device_id 是 iOS 还是 Android。
|
|
-- 会话/设备表都依赖已登录账号,游客行为拿不到平台;这里按 device_id 独立建档,
|
|
-- 只存平台,系统版本与机型不上报。
|
|
BEGIN;
|
|
|
|
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,
|
|
PRIMARY KEY (id)
|
|
);
|
|
|
|
-- 不带 deleted 谓词:写入用的 ON CONFLICT (device_id) 需要能推断到唯一索引;
|
|
-- 设备平台不做软删,重复建档走更新。
|
|
CREATE UNIQUE INDEX uk_app_device_profile_device
|
|
ON app_device_profile (device_id);
|
|
|
|
COMMENT ON TABLE app_device_profile IS '设备平台:device_id 维度区分 iOS/Android,匿名请求同样记录';
|
|
|
|
COMMIT;
|