def log_dbsql(request): '''获取分服sql语句接口 ''' #根据服务器获取分服数据库所需的SQL结构表信息 server_id = int(request.GET.get('server_id', '') or 0) is_truncate_table = request.REQUEST.get('truncate','') == 'true' if not server_id: return HttpResponse('服务器不存在,请求失败.') sqls = [] the_server = Server() the_server.id = server_id sqls.append(the_server.get_base_database_sql()) #创建数据库 sqls.append('USE %s;' % the_server.db_name) if is_truncate_table: '''清数据的接口 ''' sqls.extend( LogDefine.get_truncate_table_sqls() ) sqls.append('truncate table player_%d;' % server_id) else: sqls.extend(the_server.get_create_player_table_sqls()) #创建player_表 sqls.extend(the_server.get_create_gang_table_sqls()) #创建gang_表 sqls.append(the_server.get_drop_base_log_sql()) #先删除下log基表 sqls.append(the_server.get_create_base_log_sql()) #创建log_x基表 log_defs = LogDefine.objects.filter(status=LogDefine.Status.NORMAL) for log_def in log_defs: sqls.append(log_def.get_create_table_sql()) for create_index_sql in log_def.get_create_index_sqls(): #同步索引 sqls.append(create_index_sql) for log_def in log_defs: for other_sql in log_def.get_other_sqls(is_sql_file=True): #触发器 sqls.append(sql_handle(other_sql,server_id)) return HttpResponse('\n'.join(sqls))