def del_data(): if 'whereJson' in req.form: try: dict_where = json.loads(req.form['whereJson']) if len(dict_where) != 1: return make_response('whereJson错误') except: return make_response('whereJson错误') else: return make_response('whereJson错误') if 'id' in dict_where: str_where = 'id=' + str(dict_where['id'][0]) else: str_where = 'modelId=' + str(dict_where['modelId'][0]) str_field = 'name,field_en' args = {'pre_page_num': 1, 'curr_page': 1, 'sort': ''} result = mysqldb.find_data(table_name, str_where, str_field, args) this_table_name = result['rows'][0]['name'] if 'id' in dict_where: # 删除列 str_data = 'drop ' + result['rows'][0]['field_en'] result = mysqldb.update_col(this_table_name, str_data) if not result: return make_response('操作失败') return delete_data_fn(table_name, dict_where) else: # 删除表 result = mysqldb.drop_table(this_table_name) if not result: return make_response('操作失败') print("删除数据表完成") delete_data_fn(table_name, dict_where) return remove_file_fn(this_table_name)
def del_col(): if 'dataJson' in req.form: try: dict_data = json.loads(req.form['dataJson']) except: return make_response('dataJson错误') else: return make_response('dataJson错误') if not dict_data['fieldName']: return make_response('dataJson错误') str_data = 'drop ' + dict_data['fieldName'] result = mysqldb.update_col(table_name, str_data) # print(result) if result: return make_response('操作成功') else: return make_response('操作失败')
def add_col(self): if 'dataJson' in self.req.form: try: dict_data = json.loads(self.req.form['dataJson']) except: return make_response('dataJson错误') else: return make_response('dataJson错误') if not dict_data['fieldName'] and not dict_data['dataType']: return make_response('dataJson错误') str_data = 'add ' + dict_data['fieldName'] + ' ' + dict_data[ 'dataType'] + ' not null' result = mysqldb.update_col(self.table_name, str_data) # print(result) if result: return make_response('操作成功') else: return make_response('操作失败')
def update_col(): if 'dataJson' in req.form: try: dict_data = json.loads(req.form['dataJson']) except: return make_response('dataJson错误') else: return make_response('dataJson错误') if not dict_data['fieldName'] and not dict_data['fieldNewName']: return make_response('dataJson错误') str_data = 'change ' + dict_data['fieldName'] + ' ' + dict_data[ 'fieldNewName'] if dict_data['dataNewType']: str_data += ' ' + dict_data['dataNewType'] result = mysqldb.update_col(table_name, str_data) # print(result) if result: return make_response('操作成功') else: return make_response('操作失败')
def update_data(): if 'whereStr' in req.form: str_where = req.form['whereStr'] if not str_where: return make_response('whereStr错误') else: return make_response('whereStr错误') if 'updateJson' in req.form: try: dict_update = json.loads(req.form['updateJson']) if len(dict_update) == 0: return make_response('updateJson错误') if 'id' in dict_update: return make_response('updateJson错误') except: return make_response('updateJson错误') else: return make_response('updateJson错误') if not dict_update['field_ch']: return make_response('中文字段不能为空') if not dict_update['data_type']: return make_response('字段数据类型不能为空') if re.compile(r'^\w+$').match(dict_update['field_en']) == None: return make_response('英文字段必须为字母\数字\下划线') if re.compile(r'^[1-9][0-9]*$').match(str( dict_update['field_width'])) == None: return make_response('字段列宽必须为正整数') if re.compile(r'^[1-9][0-9]*$').match(str( dict_update['field_sort'])) == None: return make_response('字段排序必须为正整数') if dict_update['field_en'] == 'id': return make_response('该字段不能修改') dict_update['update_name'] = dict_login['username'] dict_update['update_time'] = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) str_field = 'name,modelId,field_en' args = {'pre_page_num': 1, 'curr_page': 1, 'sort': ''} result = mysqldb.find_data(table_name, str_where, str_field, args) if result['rows'][0]['field_en'] == dict_update['field_en']: return update_data_fn(table_name, str_where, dict_update) else: this_table_name = result['rows'][0]['name'] # 查询字段是否存在 this_str_where = 'modelId=' + str( result['rows'][0]['modelId'] ) + ' and field_en="' + dict_update['field_en'] + '"' str_field = 'field_en' args = {'pre_page_num': 1, 'curr_page': 1, 'sort': ''} this_result = mysqldb.find_data(table_name, this_str_where, str_field, args) if this_result['count'] > 0: return make_response('字段已存在') # 修改列 if dict_update['data_type'] == 'int' or dict_update[ 'data_type'] == 'int(6)': data_type = dict_update['data_type'] else: data_type = 'VARCHAR(100)' str_data = 'change ' + result['rows'][0][ 'field_en'] + ' ' + dict_update[ 'field_en'] + ' ' + data_type + ' not null' result = mysqldb.update_col(this_table_name, str_data) if not result: return make_response('操作失败') return update_data_fn(table_name, str_where, dict_update)
def insert_data(): if 'dataArr' in req.form: try: list_data = json.loads(req.form['dataArr']) if len(list_data) == 0: return make_response('dataArr错误') except: return make_response('dataArr错误') else: return make_response('dataArr错误') if len(list_data) > 1: return make_response('不支持批量插入') str_field_en = '(' for index, item in enumerate(list_data): if item['field_en'] == 'id': item['data_type'] = 'int' item['field_width'] = 100 item['field_sort'] = 1 item['create_name'] = dict_login['username'] item['create_time'] = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) item['update_name'] = '' item['update_time'] = '' item['modelId'] = item['id'] del item['id'] if len(str(item['modelId'])) != 6: return make_response('modelId长度必须为6') if re.compile(r'^[A-Za-z]+_[A-Za-z]+$').match( item['name']) == None: return make_response('数据表名必须为字母_字母组成') if item['name'] == 'page_demo': return make_response('该数据表名已被占用') if not item['field_ch']: return make_response('中文字段不能为空') if not item['data_type']: return make_response('字段数据类型不能为空') if re.compile(r'^\w+$').match(item['field_en']) == None: return make_response('英文字段必须为字母\数字\下划线') if re.compile(r'^[1-9][0-9]*$').match(str( item['field_width'])) == None: return make_response('字段列宽必须为正整数') if re.compile(r'^[1-9][0-9]*$').match(str( item['field_sort'])) == None: return make_response('字段排序必须为正整数') str_field_en += '"' + item['field_en'] + '"' if index < len(list_data) - 1: str_field_en += ',' str_field_en += ')' #查询字段是否存在 str_where = 'modelId=' + str( list_data[0]['modelId']) + ' and field_en in' + str_field_en str_field = 'modelId,field_en' args = {'pre_page_num': 1, 'curr_page': 1, 'sort': ''} result = mysqldb.find_data(table_name, str_where, str_field, args) if result['count'] > 0: return make_response('字段名已存在') this_table_name = list_data[0]['name'] if list_data[0]['field_en'] == 'id': # 创建数据表 result = mysqldb.create_table(this_table_name) if not result: return make_response('操作失败') print("创建数据表完成") insert_data_fn(list_data) return copy_file_fn(this_table_name) else: # 给数据表插入列 if list_data[0]['data_type'] == 'int' or list_data[0][ 'data_type'] == 'int(6)': data_type = list_data[0]['data_type'] elif list_data[0]['data_type'] == 'textarea': data_type = 'VARCHAR(3000)' elif list_data[0]['data_type'] == 'decimal(2)' or list_data[0][ 'data_type'] == 'decimal(4)': data_type = 'FLOAT' else: data_type = 'VARCHAR(100)' str_data = 'add ' + list_data[0][ 'field_en'] + ' ' + data_type + ' not null' result = mysqldb.update_col(this_table_name, str_data) print("插入列完成") if not result: return make_response('操作失败') return insert_data_fn(list_data)