初始化结构
This commit is contained in:
parent
f2f4b5ed75
commit
d6cab58c45
26
v2/sketch.py
26
v2/sketch.py
@ -1,5 +1,4 @@
|
||||
import copy
|
||||
|
||||
from settings import settings
|
||||
from .valid_data import *
|
||||
|
||||
|
||||
@ -9,6 +8,7 @@ class Sketch:
|
||||
self.struct_cache = struct_cache
|
||||
self.__type_dict = dict()
|
||||
self.__struct_dict = dict()
|
||||
self.init_tb_struct()
|
||||
|
||||
@property
|
||||
def type_dict(self):
|
||||
@ -30,20 +30,30 @@ class Sketch:
|
||||
if self.struct_cache:
|
||||
self.struct_cache.update(db, tb, data)
|
||||
|
||||
def init_tb_struct_cache(self, db, tb):
|
||||
sql = f"select name,type from system.columns where database='{db}' and table='{tb}'"
|
||||
|
||||
data, columns = self.db_client.execute(sql, with_column_types=True, columnar=True)
|
||||
res = {k: v for k, v in zip(data[0], data[1])}
|
||||
self.__struct_dict[f'{db}_{tb}'] = res
|
||||
self.up_tb_struct(db, tb, res)
|
||||
return res
|
||||
|
||||
def init_tb_struct(self):
|
||||
self.init_tb_struct_cache(settings.GAME, 'event')
|
||||
self.init_tb_struct_cache(settings.GAME, 'user')
|
||||
|
||||
def get_tb_struct_cache(self, db, tb):
|
||||
"""
|
||||
查一条记录 取字段 和类型
|
||||
取字段 和类型
|
||||
:param db:
|
||||
:param tb:
|
||||
:return:
|
||||
"""
|
||||
if self.__struct_dict.get(f'{db}_{tb}'):
|
||||
return self.__struct_dict.get(f'{db}_{tb}')
|
||||
sql = f'select * from {db}.{tb} limit 1'
|
||||
_, columns = self.db_client.execute(sql, with_column_types=True)
|
||||
res = {item[0]: item[1] for item in columns}
|
||||
self.__struct_dict[f'{db}_{tb}'] = res
|
||||
self.up_tb_struct(db, tb, res)
|
||||
|
||||
res = self.init_tb_struct_cache(db, tb)
|
||||
return res
|
||||
|
||||
def update_user_view(self, db, tb):
|
||||
|
Loading…
Reference in New Issue
Block a user