Update index.py

pull/577/head
Mr Chen 1 year ago
parent 5535d56304
commit 6b6e1f415f
  1. 81
      plugins/mysql/index.py

@ -3127,9 +3127,9 @@ def syncDatabaseRepair(version=''):
sync_count_data = sync_db.query(cmd_count_sql) sync_count_data = sync_db.query(cmd_count_sql)
print(f'sync count data cos:{time.time() - time_s:.4f}s') print(f'sync count data cos:{time.time() - time_s:.4f}s')
print(local_count_data,sync_count_data) print(local_count_data,sync_count_data)
# if local_count_data[0]['num'] == sync_count_data[0]['num']: if local_count_data[0]['num'] == sync_count_data[0]['num']:
# is_break = True is_break = True
# break break
diff = sync_count_data[0]['num'] - local_count_data[0]['num'] diff = sync_count_data[0]['num'] - local_count_data[0]['num']
print("diff," + str(diff)+' line data!') print("diff," + str(diff)+' line data!')
@ -3149,45 +3149,44 @@ def syncDatabaseRepair(version=''):
print('progress,%.2f' % progress+'%') print('progress,%.2f' % progress+'%')
mw.writeFile(table_name_pos_file, str(pos)) mw.writeFile(table_name_pos_file, str(pos))
else: else:
if len(sync_select_data) == 0: if len(sync_select_data) != 0:
continue for idx in range(len(sync_select_data)):
for idx in range(len(sync_select_data)): insert_data = sync_select_data[idx]
insert_data = sync_select_data[idx] # print(insert_data)
# print(insert_data) local_inquery_sql = 'select '+pkey_name+' from ' + table_name+ ' where ' +pkey_name+' = '+ str(insert_data[pkey_name])
local_inquery_sql = 'select '+pkey_name+' from ' + table_name+ ' where ' +pkey_name+' = '+ str(insert_data[pkey_name]) # print(local_inquery_sql)
# print(local_inquery_sql) tdata = local_db.query(local_inquery_sql)
tdata = local_db.query(local_inquery_sql) # print(tdata)
# print(tdata) if len(tdata) == 0:
if len(tdata) == 0: print("id:"+ str(insert_data[pkey_name])+ " no exists, insert")
print("id:"+ str(insert_data[pkey_name])+ " no exists, insert") insert_sql = 'insert into ' + table_name
insert_sql = 'insert into ' + table_name field_str = ''
field_str = '' value_str = ''
value_str = '' for field in insert_data:
for field in insert_data: field_str += '`'+field+'`,'
field_str += '`'+field+'`,' value_str += '\''+escape_string(str(insert_data[field]))+'\','
value_str += '\''+escape_string(str(insert_data[field]))+'\',' field_str = '(' +field_str.strip(',')+')'
field_str = '(' +field_str.strip(',')+')' value_str = '(' +value_str.strip(',')+')'
value_str = '(' +value_str.strip(',')+')' insert_sql = insert_sql+' '+field_str+' values'+value_str+';'
insert_sql = insert_sql+' '+field_str+' values'+value_str+';' # print(insert_sql)
print(insert_sql) r = local_db.execute(insert_sql)
r = local_db.execute(insert_sql) print(r)
print(r) else:
else: if sync_select_data[idx] == local_select_data[idx]:
if sync_select_data[idx] == local_select_data[idx]:
continue
print("id:"+ str(insert_data[pkey_name])+ " data is not equal, update")
update_sql = 'update ' + table_name
field_str = ''
value_str = ''
for field in insert_data:
if field == pkey_name:
continue continue
field_str += '`'+field+'`=\''+escape_string(str(insert_data[field]))+'\',' print("id:"+ str(insert_data[pkey_name])+ " data is not equal, update")
field_str = field_str.strip(',') update_sql = 'update ' + table_name
update_sql = update_sql+' set '+field_str+' where '+pkey_name+'=\''+str(insert_data[pkey_name])+'\';' field_str = ''
print(update_sql) value_str = ''
r = local_db.execute(update_sql) for field in insert_data:
print(r) if field == pkey_name:
continue
field_str += '`'+field+'`=\''+escape_string(str(insert_data[field]))+'\','
field_str = field_str.strip(',')
update_sql = update_sql+' set '+field_str+' where '+pkey_name+'=\''+str(insert_data[pkey_name])+'\';'
# print(update_sql)
r = local_db.execute(update_sql)
print(r)
if is_break: if is_break:
print("break all") print("break all")
break break

Loading…
Cancel
Save