notebook/996/doirs/dhsf_engine.sql
2025-07-11 15:32:31 +08:00

248 lines
5.9 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;