def test_repair_to_mysql(self):
        rdovo = CopyDataOVO(db_host=M_HOST,
                            db_user=M_USER,
                            db_password=M_PASSWORD,
                            db_database=M_DATABASE,
                            original_columns=M_ORIGINAL_COLUMNS)
        # rdovo.get_tables_id_real(original_tablename=M_ORIGINAL_TABLENAME,repair_tablename=R_REPAIR_TABLENAME)
        rdovo.copy_game_data_main(original_tablename=M_ORIGINAL_TABLENAME,
                                  repair_tablename=M_REPAIR_TABLENAME,
                                  id_min=0,
                                  id_max=3000)

        rd = ResolveData(host=M_HOST,
                         user=M_USER,
                         password=M_PASSWORD,
                         database=M_DATABASE,
                         original_columns=M_ORIGINAL_COLUMNS,
                         resolve_columns=M_RESOLVE_COLUMNS,
                         resolve_index=R_RESOLVE_INDEX,
                         no_resolve_columns=R_NO_RESOLVE_COLUMNS,
                         db_type='mysql')
        rd.resolve_data_main(repair_tablename=M_REPAIR_TABLENAME,
                             resolve_tablename=M_RESOLVE_TABLENAME,
                             id_min=0,
                             id_max=3000)
parser = argparse.ArgumentParser(description='input id_min id_max')
parser.add_argument('-id_min', type=int, default=None)
parser.add_argument('-id_max', type=int, default=None)
args = parser.parse_args()
id_min = args.id_min
id_max = args.id_max

M_BUKEUP_GAME_TABLENAME = 'bidatanew'
M_BUKEUP_GAME_COLUMNS = M_BUKEUP_TABLE[M_BUKEUP_GAME_TABLENAME]

for tablename, columns in M_BUKEUP_TABLE.items():
    bakeup_logger.info(f'\n' + f"开始备份【{tablename}】".center(80, '='))
    to_tablename = tablename + '_bakeup' + f"{M_BUKEUP_FROM_HOST.replace('.', '_')}"
    rmdovo = CopyDataOVO(db_type='mysql',
                         db_host=M_BUKEUP_FROM_HOST,
                         db_user=M_BUKEUP_USER,
                         db_password=M_BUKEUP_FROM_PASSWORD,
                         db_database=M_BUKEUP_DATABASE,
                         db2_type='mysql',
                         db2_host=M_BUKEUP_TO_HOST,
                         db2_user=M_BUKEUP_USER,
                         db2_password=M_BUKEUP_TO_PASSWORD,
                         db2_database=M_BUKEUP_DATABASE,
                         original_columns=columns)
    rmdovo.copy_game_data_main(original_tablename=tablename,
                               repair_tablename=to_tablename,
                               id_min=id_min,
                               id_max=id_max,
                               is_repair=False)
    bakeup_logger.info(f'\n' + f"备份【{tablename}】结束!".center(80, '='))
def copy_game_data(id_min, id_max):
    rmdovo = CopyDataOVO(db_type='mysql', db_host=M_HOST, db_user=M_USER, db_password=M_PASSWORD, db_database=M_DATABASE,
                                db2_type='redshift', db2_host=R_HOST, db2_user=R_USER, db2_password=R_PASSWORD, db2_database=R_DATABASE,
                                original_columns=M_ORIGINAL_COLUMNS)
    rmdovo.copy_game_data_main(original_tablename=M_ORIGINAL_TABLENAME,repair_tablename=R_REPAIR_TABLENAME, id_min=id_min, id_max=id_max)