初始化结构
This commit is contained in:
parent
60eaf813df
commit
e58621a4d2
26
v2/sketch.py
26
v2/sketch.py
@ -1,5 +1,6 @@
|
|||||||
import copy
|
import copy
|
||||||
|
import pandas as pd
|
||||||
|
from settings import settings
|
||||||
from .valid_data import *
|
from .valid_data import *
|
||||||
|
|
||||||
|
|
||||||
@ -9,6 +10,7 @@ class Sketch:
|
|||||||
self.struct_cache = struct_cache
|
self.struct_cache = struct_cache
|
||||||
self.__type_dict = dict()
|
self.__type_dict = dict()
|
||||||
self.__struct_dict = dict()
|
self.__struct_dict = dict()
|
||||||
|
self.init_tb_struct()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def type_dict(self):
|
def type_dict(self):
|
||||||
@ -30,20 +32,30 @@ class Sketch:
|
|||||||
if self.struct_cache:
|
if self.struct_cache:
|
||||||
self.struct_cache.update(db, tb, data)
|
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):
|
def get_tb_struct_cache(self, db, tb):
|
||||||
"""
|
"""
|
||||||
查一条记录 取字段 和类型
|
取字段 和类型
|
||||||
:param db:
|
:param db:
|
||||||
:param tb:
|
:param tb:
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
if self.__struct_dict.get(f'{db}_{tb}'):
|
if self.__struct_dict.get(f'{db}_{tb}'):
|
||||||
return 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 = self.init_tb_struct_cache(db, tb)
|
||||||
res = {item[0]: item[1] for item in columns}
|
|
||||||
self.__struct_dict[f'{db}_{tb}'] = res
|
|
||||||
self.up_tb_struct(db, tb, res)
|
|
||||||
return res
|
return res
|
||||||
|
|
||||||
def update_user_view(self, db, tb):
|
def update_user_view(self, db, tb):
|
||||||
|
Loading…
Reference in New Issue
Block a user