notebook/996/doirs/dhsf_engine.sql

248 lines
5.9 KiB
MySQL
Raw Normal View History

2025-07-11 15:32:31 +08:00
CREATE TABLE `ods_active_role` ( `game_id` INT NOT NULL, `role_id` VARCHAR(64) NOT NULL, `ds` VARCHAR(64) NOT NULL, `user_account` varchar(64), `server_id` INT, `role_name` VARCHAR(50), `create_time` BIGINT) UNIQUE KEY (`game_id`, `role_id`,`ds`) DISTRIBUTED BY HASH ( `game_id`, `role_id`) BUCKETS 10
CREATE TABLE `ods_platform_order` (
`game_id` INT NOT NULL,
`order_id` varchar(100) NOT NULL,
`game_name` varchar(30),
`user_id` int,
`user_account` varchar(50),
`user_nickname` varchar(30),
`role_id` varchar(50),
`role_name` varchar(100),
`server_id` varchar(50),
`server_name` varchar(30),
`platform_id` INT,
`promote_id` INT,
`amount` DECIMAL(10, 2),
`status` tinyint NOT NULL,
`pay_time` INT,
`pay_way` tinyint,
`pay_company` varchar(20),
`ip` varchar(50),
`is_box_pay` tinyint,
`scene` tinyint,
`prod_id` INT,
`prod_name` varchar(30),
`main_server_id` INT,
`refund_type` tinyint
) UNIQUE KEY ( `game_id`,`order_id`) DISTRIBUTED BY HASH ( `game_id`,`order_id`) BUCKETS 32
CREATE TABLE `ods_platform_user` (
`game_id` INT NOT NULL,
`user_id` BIGINT NOT NULL,
`user_account` varchar(30),
`platform_id` INT,
`promote_id` INT,
`create_time` BIGINT,
`channel` varchar(20)
)
UNIQUE KEY (`game_id`, `user_id`)
DISTRIBUTED BY HASH (`game_id`, `user_id`) BUCKETS 32;
CREATE TABLE `ods_role` (
`game_id` INT NOT NULL COMMENT "游戏ID",
`server_id` INT NOT NULL COMMENT "服务器ID",
`role_id` VARCHAR(64) NOT NULL COMMENT "角色ID",
`user_account` VARCHAR(64) COMMENT "用户账号",
`role_name` VARCHAR(64) COMMENT "角色名称",
`job` INT COMMENT "职业",
`level` INT COMMENT "等级",
`exp` BIGINT COMMENT "经验值",
`relevel` INT COMMENT "转生等级",
`platform_id` VARCHAR(64) COMMENT "平台ID",
`create_time` DATETIME COMMENT "创建时间", -- 修正TIMESTAMP → DATETIME
`ds` VARCHAR(64) COMMENT "日期分区", -- 优化VARCHAR → DATE
`main_server_id` INT COMMENT "主服ID"
)
ENGINE = OLAP -- 必须显式指定表引擎[1,6](@ref)
UNIQUE KEY (`game_id`, `server_id`, `role_id`)
DISTRIBUTED BY HASH (`game_id`, `server_id`, `role_id`) BUCKETS 32
;
CREATE TABLE ods_role_duration (
game_id INT NOT NULL,
server_id INT NOT NULL,
role_id VARCHAR(64) NOT NULL,
create_time DATETIME,
user_account VARCHAR(64),
duration INT,
level INT,
role_name VARCHAR(64)
) UNIQUE KEY (game_id, server_id, role_id, create_time)
DISTRIBUTED BY HASH (game_id, server_id, role_id, create_time) BUCKETS 32
;
CREATE TABLE ods_order (
game_id int NOT NULL,
order_id VARCHAR(64) NOT NULL,
status int NOT NULL,
user_account VARCHAR(64),
role_id VARCHAR(64),
server_id int,
platform_id VARCHAR(64),
product_id VARCHAR(64),
amount bigint,
create_time DATETIME,
ds VARCHAR(64),
receive_time DATETIME,
pay_company VARCHAR(64),
pay_type int
)
UNIQUE KEY (game_id, order_id, status)
DISTRIBUTED BY HASH (game_id, order_id, status) BUCKETS 32;
CREATE TABLE ods_server_user (
game_id int NOT NULL,
server_id int NOT NULL,
user_account VARCHAR(64) NOT NULL,
role_id VARCHAR(64),
role_name VARCHAR(64),
platform_id VARCHAR(64),
create_time DATETIME,
ds VARCHAR(64)
)
UNIQUE KEY (game_id, server_id, user_account) DISTRIBUTED BY HASH (game_id, server_id, user_account) BUCKETS 32;
CREATE TABLE ods_user (
game_id int NOT NULL,
user_account VARCHAR(64) NOT NULL,
role_id VARCHAR(64),
role_name VARCHAR(64),
server_id int,
platform_id VARCHAR(64),
create_time DATETIME,
ds VARCHAR(64)
)
UNIQUE KEY (game_id, user_account) DISTRIBUTED BY HASH (game_id, user_account) BUCKETS 32;
CREATE TABLE ods_platform_user (
game_id int NOT NULL,
user_id int NOT NULL,
user_account VARCHAR,
platform_id int,
promote_id int,
create_time bigint,
channel VARCHAR
)
UNIQUE KEY (game_id, user_id) DISTRIBUTED BY HASH (game_id, user_id) BUCKETS 32;
CREATE TABLE ods_platform_login (
game_id int NOT NULL,
user_id bigint NOT NULL,
user_account VARCHAR(100),
promote_id int,
platform_id int,
login_time int NOT NULL,
login_ip VARCHAR(50)
) ENGINE = OLAP DISTRIBUTED BY HASH (game_id, user_id) BUCKETS 32
;
CREATE TABLE juhe_user (
id bigint NOT NULL,
account VARCHAR,
register_time bigint,
register_ip VARCHAR,
external_id VARCHAR,
device_id VARCHAR,
game_id int,
game_name VARCHAR,
device VARCHAR,
channel_id VARCHAR,
package_id VARCHAR,
channel VARCHAR,
channel_uid VARCHAR
)
UNIQUE KEY (id) DISTRIBUTED BY HASH (id) BUCKETS 32;
CREATE TABLE juhe_order (
id bigint NOT NULL,
user_external_id VARCHAR,
game_identient VARCHAR,
game_name VARCHAR,
server_id VARCHAR,
server_name VARCHAR,
game_player_id VARCHAR,
game_player_name VARCHAR,
order_number VARCHAR,
game_order_number VARCHAR,
pay_order_number VARCHAR,
product_id VARCHAR,
props_name VARCHAR,
pay_amount DECIMAL(10,2),
create_time bigint,
pay_time bigint,
pay_status int,
pay_game_status int,
ip VARCHAR,
deviceinfo VARCHAR,
channel_id VARCHAR,
package_id VARCHAR,
channel VARCHAR
)
UNIQUE KEY (id) DISTRIBUTED BY HASH (id) BUCKETS 32;
CREATE TABLE game_server (
game_id int NOT NULL,
id int NOT NULL,
mid int,
name VARCHAR(50),
isconfirm tinyint,
del tinyint,
state tinyint,
open_time int,
space_id int,
space_type tinyint,
engine_version VARCHAR(255),
server_type VARCHAR(16),
kuafu_game_id VARCHAR(20)
)
UNIQUE KEY (game_id, id) DISTRIBUTED BY HASH (game_id, id) BUCKETS 32;
CREATE TABLE gm_space (
id int NOT NULL,
gm_uid int NOT NULL,
space_name VARCHAR(50),
space_type int,
buy_time int,
stime int,
etime int,
server_id int,
state tinyint
)
UNIQUE KEY (id) DISTRIBUTED BY HASH (id) BUCKETS 32;
CREATE TABLE ods_across_server (
id int NOT NULL,
game_id int NOT NULL,
serverids VARCHAR(100),
status tinyint,
create_time DATETIME NOT NULL
)
UNIQUE KEY (id) DISTRIBUTED BY HASH (id) BUCKETS 32;
CREATE TABLE cq_game_merge (
id bigint NOT NULL,
game_id int,
start_id int,
end_ids VARCHAR,
isconfirm int,
merge_time int
)
UNIQUE KEY (id) DISTRIBUTED BY HASH (id) BUCKETS 32;