35 lines
2.5 KiB
Erlang
35 lines
2.5 KiB
Erlang
-ifndef(__TABLE_HRL__).
|
|
-define(__TABLE_HRL__, true).
|
|
|
|
%% -------------------------------------------------------------------
|
|
%% 表配置
|
|
%% -------------------------------------------------------------------
|
|
-record(table, {
|
|
tab_name, %% 数据库表对应的表名,也是代码里对应的record名
|
|
field_list = [], %% 字段列表,对应mysql数据库表的字段 [#field{}...]
|
|
prim_key_list = [], %% 表主键,为空默认表的第一个字段作为主键;多个字段表示联合主键
|
|
index_list = [], %% 表索引,自动创建数据库表时自动创建索引,该字段只有数据库作用到
|
|
uniq_id_field = undefined, %% 唯一id字段,类似于唯一索引,undefined表示该表不需要唯一id字段;该字段主要用于生成select max取表的最大唯一id值
|
|
pre_load = false, %% 启动时是否全量加载数据,true/false
|
|
all_clear = false, %% 表示可否通过ms_cache:delete_all_objects方法删除表的所有数据;慎用,不重要数据可以用该字段
|
|
merge_type = 0, %% 合服类型,用于生成合服sql,0-保留主从服数据(默认值) 1-保留主服数据 2-保留从服数据 3-删除主从服数据 4-不处理
|
|
merge_ignore_prim_key_conflict = false, %% 合服时是否忽略主键冲突,true-忽略冲突,false-不忽略冲突(默认值)
|
|
worker_count = 0, %% 表的工作进程数量
|
|
split_zone_column = undefined, %% 表的分区字段
|
|
copy_from_table = undefined, %% 该表从哪一张表复制,两张表结构完全相同
|
|
server_types = [game_server] %% 表的服务类型
|
|
}).
|
|
|
|
%% -------------------------------------------------------------------
|
|
%% 字段配置
|
|
%% -------------------------------------------------------------------
|
|
-record(field, {
|
|
name, %% 字段名
|
|
type = int, %% 类型,int | binary | list | map | atom | boolean | tuple | any
|
|
len = 0, %% 数据库表中该字段的长度;Len=0 且 Type=list/map/tuple 时用text存储,Type=binary/any时用blob存储
|
|
common = "", %% 字段的说明
|
|
sync = true %% 是否同步到数据库表,true | false;当sync=false,表示该字段是临时数据,数据库表也没有该字段
|
|
}).
|
|
|
|
-endif.
|