import psycopg2 from psycopg2.extras import * import uuid import datetime import csv ''' DB_PATH_MAIN = "host=localhost dbname=alloaV3 user=mad password=mad8888" DB_PATH_WEB_CLIENT = "host=localhost dbname=alloaWebclientV3 user=mad password=mad8888" class DB: def _connect(self): if self.path == "main": self.db = psycopg2.connect(self.DB_PATH_MAIN) elif self.path == 'web_client': self.db = psycopg2.connect(self.DB_PATH_WEB_CLIENT) self.cur = self.db.cursor(cursor_factory=psycopg2.extras.DictCursor) self.is_connect = True ''' ''' t_host = "localhost" t_port = "5432" t_dbname = "alloaWebclientV3" t_name_user = "mad" t_password = "mad8888" ''' db_conn_old = psycopg2.connect(host="localhost", port="5432", dbname="alloaV3", user="mad", password="mad8888") db_cursor_old = db_conn_old.cursor() is_connect=True db_conn_new = psycopg2.connect(host="localhost", port="5432", dbname="alloaDBv220120", user="mad", password="mad8888") db_cursor_new = db_conn_new.cursor() def close_old(): db_cursor_old.close() def query_old(sql): db_cursor_old.execute(sql) data = db_cursor_old.fetchall() #close() return data def execute_old(sql): if not is_connect: connect() if debug: print(sql) try: db_cursor_old.execute(sql) valid = db_cursor_old.rowcount db_conn_old.commit() close() return valid print(sql) except psycopg2.Error as e: if e.pgcode == '23503': db_conn_old.rollback() return handle_error(e) else: raise def close_new(): db_cursor_new.close() def query_new(sql): db_cursor_new.execute(sql) data = db_cursor_new.fetchall() #close() return data def execute_new(sql): if not is_connect: connect() try: db_cursor_new.execute(sql) valid = db_cursor_new.rowcount db_conn_new.commit() #close() return valid print(sql) except psycopg2.Error as e: if e.pgcode == '23503': db_conn_new.rollback() return handle_error(e) else: raise def remover(): sql="UPDATE vmap.pays SET uuidpays = '0d9665b8-32ed-412e-8f7c-110da6dce649' WHERE uuidpays = '9d9665b8-32ed-412e-8f7c-110da6dce649'; " execute_new(sql) #dans cette fonction, on remplace les apostrophes par des \' pour eviter les erreurs de string qui se terminent trop tot et qui causent des erreurs de syntax def remplacer_apostrophe(cpy): copy=[] for i in range(len(cpy)): liste=[] for j in range(len(cpy[i])): if isinstance(cpy[i][j],str)==True and isinstance(cpy[i][j],datetime.datetime)==False: liste.append(cpy[i][j].replace("'", "’")) else: liste.append(cpy[i][j]) copy.append(liste) return(copy) def map_pays(): #on vide la nouvelle table pour être sûr qu'il ne reste pas de donnée dedans cleanreq="TRUNCATE vmap.pays CASCADE" execute_new(cleanreq) db_conn_new.commit() #requete select dans l'ancienne base copyreq="SELECT * FROM map.pays;" cpy=query_old(copyreq) copy=remplacer_apostrophe(cpy) count = 0 #ici on parcours touts les rows du select pour les transmettre ligne par ligne dans une boucle for for i in range(len(copy)): #Dans l'ancienne base était renseigné l'uuiddevise pour un pays, dans la nouvelle simplement la refdevise : on gère ce problème avec la requête suivante : devisereq="SELECT refdevise FROM ogbase.devise WHERE uuiddevise = '"+copy[i][24]+"'" result= query_old(devisereq) if not result: pastereq = ("INSERT INTO vmap.pays values( '"+str(copy[i][26])+"', '"+str(copy[i][0])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"', '00:00:00.000', '"+str(copy[i][5])+"', '"+str(copy[i][9])+"', '"+str(copy[i][8])+"','"+str(copy[i][7])+"', '?', '"+str(copy[i][13])+"','"+str(copy[i][1])+"','"+str(copy[i][12])+"', '"+str(copy[i][14])+"', '"+str(copy[i][16])+"', '"+str(copy[i][15])+"', '"+str(copy[i][17])+"','?','?','?','?', '"+str(copy[i][19])+"', '"+str(copy[i][20])+"','"+str(copy[i][21])+"', '"+str(copy[i][22])+"', '"+str(copy[i][23])+"', '?','?' );") else : pastereq = ("INSERT INTO vmap.pays values( '"+str(copy[i][26])+"', '"+str(copy[i][0])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"', '00:00:00.000', '"+str(copy[i][5])+"', '"+str(copy[i][9])+"', '"+str(copy[i][8])+"','"+str(copy[i][7])+"', '?', '"+str(copy[i][13])+"','"+str(copy[i][1])+"','"+str(copy[i][12])+"', '"+str(copy[i][14])+"', '"+str(copy[i][16])+"', '"+str(copy[i][15])+"', '"+str(copy[i][17])+"','?','?','?','?', '"+str(copy[i][19])+"', '"+str(copy[i][20])+"','"+str(copy[i][21])+"', '"+str(copy[i][22])+"', '"+str(copy[i][23])+"','"+result[0][0]+"', '?' );") execute_new(pastereq) db_conn_new.commit() count+=1 print(str(count) +" lignes sur "+str(len(cpy))+" lignes de données de la table pays ont été correctement transférées!") def map_gateway(): #requete select dans l'ancienne base copyreq="SELECT * FROM map.gateway;" cpy=query_old(copyreq) copy=remplacer_apostrophe(cpy) #ici on parcours touts les rows du select pour les transmettre ligne par ligne dans une boucle for checkref=[] for i in range(len(copy)): #ici, on verifie si la ref existe deja pour eviter les doublons alreadyexists=False for j in range(len(checkref)): #print (str(checkref[j][12])) if str(checkref[j])[0:3]==str(copy[i][13])[0:3]: alreadyexists=True #si la ref n'existe pas, on execute l'insertion de la ligne if alreadyexists==False: #print(str(copy[i][13])) pastereq = ("INSERT INTO vmap.gateways values( '"+str(copy[i][0])+"', '"+str(copy[i][1])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"', '00:00:00.000', '"+str(copy[i][5])+"', '"+str(copy[i][9])+"', '"+str(copy[i][8])+"', '"+str(copy[i][6])+"','', '"+str(copy[i][12])+"', '"+str(copy[i][13])+"','','', '"+str(copy[i][14])+"', '"+str(copy[i][15])+"', '"+str(copy[i][16])+"', '"+str(copy[i][19])+"', '"+str(copy[i][20])+"', '"+str(copy[i][17])+"', '"+str(copy[i][18])+"', '"+str(copy[i][21])+"', '"+str(copy[i][22])+"', '"+str(copy[i][23])+"', '"+str(copy[i][24])+"', '"+str(copy[i][25])+"', '"+str(copy[i][26])+"', '"+str(copy[i][27])+"');") execute_new(pastereq) print(pastereq+"\n") checkref.append(copy[i][13]) db_conn_new.commit() #print(copy[i][0]) def map_regions(): #on vide la nouvelle table pour être sûr qu'il ne reste pas de donnée dedans cleanreq="TRUNCATE vmap.region CASCADE" execute_new(cleanreq) db_conn_new.commit() #requete select dans l'ancienne base copyreq="SELECT * FROM map.region;" cpy=query_old(copyreq) copy=remplacer_apostrophe(cpy) count = 0 #ici on parcours touts les rows du select pour les transmettre ligne par ligne dans une boucle for en rearangeant les valeurs for i in range(len(copy)): pastereq = ("INSERT INTO vmap.Region values( '"+str(copy[i][0])+"', '"+str(copy[i][1])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"', '"+str(copy[i][5])+"','00:00:00.000', '"+str(copy[i][6])+"', '"+str(copy[i][10])+"', '"+str(copy[i][9])+"','"+str(copy[i][7])+"', '?', '"+str(copy[i][14])+"', '"+str(copy[i][2])+"', '?', 'False', '"+str(copy[i][50])+"', '"+str(copy[i][15])+"', '"+str(copy[i][17])+"', '"+str(copy[i][19])+"', '"+str(copy[i][21])+"', '"+str(copy[i][23])+"', '"+str(copy[i][25])+"', '"+str(copy[i][27])+"', '"+str(copy[i][29])+"','"+str(copy[i][16])+"', '"+str(copy[i][18])+"', '"+str(copy[i][20])+"', '"+str(copy[i][22])+"', '"+str(copy[i][24])+"', '"+str(copy[i][26])+"', '"+str(copy[i][28])+"', '"+str(copy[i][30])+"', '"+str(copy[i][31])+"', '"+str(copy[i][32])+"', '"+str(copy[i][33])+"', '"+str(copy[i][34])+"', '"+str(copy[i][35])+"', '"+str(copy[i][36])+"', '"+str(copy[i][37])+"', '"+str(copy[i][38])+"', '"+str(copy[i][39])+"', '"+str(copy[i][40])+"', '"+str(copy[i][41])+"', '"+str(copy[i][42])+"', '"+str(copy[i][43])+"', '"+str(copy[i][44])+"', '"+str(copy[i][45])+"', '"+str(copy[i][46])+"', '"+str(copy[i][47])+"', '"+str(copy[i][48])+"', '"+str(copy[i][52])+"', '"+str(copy[i][53])+"', '?');") execute_new(pastereq) db_conn_new.commit() count +=1 print(str(count) +" lignes sur "+str(len(cpy))+" lignes de données de la table regions ont été correctement transférées!") def map_ville(): #on vide la nouvelle table pour être sûr qu'il ne reste pas de donnée dedans cleanreq="TRUNCATE vmap.ville CASCADE" execute_new(cleanreq) db_conn_new.commit() #requete select dans l'ancienne base copyreq="SELECT * FROM map.ville ;" cpy=query_old(copyreq) copy=remplacer_apostrophe(cpy) count = 0 #ici on parcours touts les rows du select pour les transmettre ligne par ligne dans une boucle for for i in range(len(copy)): reg=("SELECT uuidpays FROM map.region WHERE uuidregion='"+str(copy[i][23])+"';") reg=query_old(reg) pays=("SELECT uuidpays FROM vmap.pays WHERE uuidpays='"+str(reg[0][0])+"';") pays=query_new(pays) pastereq = ("INSERT INTO vmap.ville values( '"+str(copy[i][24])+"', '"+str(copy[i][0])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"', '00:00:00.000', '"+str(copy[i][5])+"', '"+str(copy[i][10])+"', '"+str(copy[i][8])+"', '"+str(copy[i][7])+"', '"+str(copy[i][28])+"', '"+str(copy[i][13])+"', '"+str(copy[i][1])+"', '?', '?', '"+str(copy[i][14])+"', '"+str(copy[i][15])+"', '"+str(copy[i][16])+"', '"+str(copy[i][17])+"', '"+str(copy[i][18])+"', '"+str(copy[i][19])+"', '"+str(copy[i][20])+"','','','','','"+str(copy[i][21])+"','"+str(copy[i][22])+"','','"+str(pays[0][0])+"', '');") execute_new(pastereq) db_conn_new.commit() count+=1 #Le problème concerne une ville pour qui un champ dépasse les 10 caractères alors que c'est interdit, pourtant la construction du 'result' et le if semblaient régler ce soucis, A revoir. print(str(count) +" lignes sur "+str(len(cpy))+" lignes de données de la table ville ont été correctement transférées!") def map_dest(): #on vide la nouvelle table pour être sûr qu'il ne reste pas de donnée dedans cleanreq="TRUNCATE vmap.zone CASCADE" execute_new(cleanreq) db_conn_new.commit() #requete select dans l'ancienne base copyreq="SELECT * FROM map.destination;" cpy=query_old(copyreq) copy=remplacer_apostrophe(cpy) count = 0 #ici on parcours touts les rows du select pour les transmettre ligne par ligne dans une boucle for for i in range(len(copy)): pastereq = ("INSERT INTO vmap.zone values( '"+str(copy[i][23])+"', '"+str(copy[i][0])+"', '"+str(copy[i][1])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '00:00:00.000', '"+str(copy[i][4])+"', '"+str(copy[i][8])+"', '"+str(copy[i][7])+"', '"+str(copy[i][6])+"', '"+str(copy[i][21])+"', '"+str(copy[i][11])+"', '"+str(copy[i][12])+"', '"+str(copy[i][13])+"', '"+str(copy[i][14])+"', '"+str(copy[i][15])+"', '"+str(copy[i][16])+"', '"+str(copy[i][17])+"', '"+str(copy[i][18])+"', '"+str(copy[i][19])+"', '"+str(copy[i][20])+"', '"+str(copy[i][21])+"','','');") execute_new(pastereq) db_conn_new.commit() count+=1 print(str(count) +" lignes sur "+str(len(cpy))+" lignes de données de la table destination ont été correctement transférées!") def map_zlienregiondest(): #requete select dans l'ancienne base copyreq="SELECT * FROM map.z_lien_region_destination;" cpy=query_old(copyreq) copy=remplacer_apostrophe(cpy) #ici on parcours touts les rows du select pour les transmettre ligne par ligne dans une boucle for for i in range(len(copy)): pastereq = ("INSERT INTO vmap.zliensdestregions values('"+str(i)+"','"+str(copy[i][1])+"', '"+str(copy[i][0])+"');") execute_new(pastereq) db_conn_new.commit() #print(copy[i][0]) def map_zlienregvilles(): #requete select dans l'ancienne base copyreq="SELECT * FROM map.z_lien_region_ville;" cpy=query_old(copyreq) copy=remplacer_apostrophe(cpy) #ici on parcours touts les rows du select pour les transmettre ligne par ligne dans une boucle for for i in range(len(copy)): pastereq = ("INSERT INTO vmap.zliensregvilles values('"+str(copy[i][0])+"','"+str(copy[i][1])+"', '"+str(copy[i][2])+"');") execute_new(pastereq) db_conn_new.commit() #print(copy[i][0]) def og_ej(): #requete select dans l'ancienne base copyreq="SELECT * FROM ogbase.entitejuridique;" cpy=query_old(copyreq) copy=remplacer_apostrophe(cpy) for i in range(len(copy)): #pastereq = ("INSERT INTO og.ej values( '"+str(copy[i][0])+"', '"+str(copy[i][1])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"', '00:00:00.000', '"+str(copy[i][5])+"', '?', '0', '"+str(copy[i][7])+"', '"+str(copy[i][30])+"', '"+str(copy[i][8])+"', '"+str(copy[i][9])+"', '"+str(copy[i][10])+"', '"+str(copy[i][12])+"', '"+str(copy[i][13])+"', '"+str(copy[i][14])+"', '"+str(copy[i][20])+"', '"+str(copy[i][21])+"', '?', '"+str(copy[i][22])+"', '"+str(copy[i][23])+"', '"+str(copy[i][24])+"', '"+str(copy[i][26])+"', '"+str(copy[i][27])+"', '"+str(copy[i][28])+"', '"+str(copy[i][29])+"', '"+str(copy[i][30])+"', '"+str(copy[i][32])+"', '"+str(copy[i][31])+"');") pastereq = ("INSERT INTO og.ej values( '"+str(copy[i][0])+"', '"+str(copy[i][1])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '"+str(copy[i][3])+"', '00:00:00.000', '"+str(copy[i][5])+"', '?', '0', '"+str(copy[i][7])+"', '"+str(copy[i][30])+"', '"+str(copy[i][8])+"', '"+str(copy[i][9])+"', '"+str(copy[i][10])+"', '"+str(copy[i][12])+"', '"+str(copy[i][13])+"', '"+str(copy[i][14])+"', '"+str(copy[i][20])+"', '', '?', '01-Sep-1983', '01-Sep-1983', '01-Sep-1983', '???', '"+str(copy[i][27])+"', '"+str(copy[i][28])+"', '"+str(copy[i][29])+"', '"+str(copy[i][30])+"', '"+str(copy[i][32])+"', '"+str(copy[i][31])+"');") execute_new(pastereq) db_conn_new.commit() #print(copy[i][0]) def og_oggroup(): #requete select dans l'ancienne base copyreq="SELECT * FROM ogbase.oggroup;" cpy=query_old(copyreq) copy=remplacer_apostrophe(cpy) copyreq2="SELECT * FROM ogbase.ogstaff;" cpy2=query_old(copyreq2) copy2=remplacer_apostrophe(cpy2) for i in range(len(copy)): pastereq = ("INSERT INTO og.oggroup values( '"+str(copy[i][0])+"', '"+str(copy[i][1])+"', '"+str(copy[i][5])+"', '01-Sep-1983', '01-Sep-1983', '00:00:00.000', '"+str(copy[i][8])+"', '"+str(copy[i][0])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '0');") execute_new(pastereq) db_conn_new.commit() #print(copy[i][0]) def og_ogstaff(): #requete select dans l'ancienne base copyreq="SELECT * FROM ogbase.ogstaff;" cpy=query_old(copyreq) copy=remplacer_apostrophe(cpy) for i in range(len(copy)): print(len(copy[0])) if str(copy[i][1])!="aeaze": print("okay") pastereq = ("INSERT INTO og.ogstaff values( '"+str(copy[i][0])+"', '"+str(copy[i][1])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"', '00:00:00.000', '"+str(copy[i][8])+"', '"+str(copy[i][6])+"', '"+str(copy[i][6])+"', '"+str(copy[i][8])+"', '"+str(copy[i][9])+"', '"+str(copy[i][21])+"', '"+str(copy[i][12])+"', '"+str(copy[i][13])+"', '"+str(copy[i][14])+"', '1983-09-01', '1983-09-01', '"+str(copy[i][19])+"', '"+str(copy[i][18])+"', '0000000000', '"+str(copy[i][15])+"', '', '"+str(copy[i][16])+"', '"+str(copy[i][17])+"', '', '', '"+str(copy[i][20])+"', '', '', '','','FALSE','FALSE','FALSE','');") execute_new(pastereq) db_conn_new.commit() #print(copy[i][0]) def og_ogmodule(): #requete select dans l'ancienne base copyreq="SELECT * FROM ogbase.ogmodule;" cpy=query_old(copyreq) copy=remplacer_apostrophe(cpy) for i in range(len(copy)): if str(copy[i][1])!="aeaze": pastereq = ("INSERT INTO og.ogmodul values( '"+str(copy[i][0])+"', '"+str(copy[i][1])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"', '"+str(copy[i][4])+"', '00:00:00.000', '"+str(copy[i][6])+"', '"+str(copy[i][2])+"', '"+str(copy[i][7])+"', '"+str(copy[i][8])+"', '"+str(copy[i][9])+"' );") execute_new(pastereq) db_conn_new.commit() #print(copy[i][0]) def ogc_classgroup(): #requete select dans l'ancienne base copyreq="SELECT * FROM ogcompta.ogclassregroupement;" cpy=query_old(copyreq) copy=remplacer_apostrophe(cpy) #ici on parcours touts les rows du select pour les transmettre ligne par ligne dans une boucle for for i in range(len(copy)): pastereq = ("INSERT INTO ogcpta.classegroup values('"+str(copy[i][0])+"','"+str(copy[i][1])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"', '00:00:00.000', '"+str(copy[i][5])+"', '"+str(copy[i][12])+"', '"+str(copy[i][8])+"', '"+str(copy[i][10])+"', '"+str(copy[i][13])+"', '"+str(copy[i][14])+"', '"+str(copy[i][15])+"', '"+str(copy[i][16])+"','');") execute_new(pastereq) db_conn_new.commit() #print(copy[i][0]) def ogc_journaux(): #requete select dans l'ancienne base copyreq="SELECT * FROM ogcompta.journaux;" cpy=query_old(copyreq) copy=remplacer_apostrophe(cpy) #ici on parcours touts les rows du select pour les transmettre ligne par ligne dans une boucle for for i in range(len(copy)): pastereq = ("INSERT INTO ogcpta.jnx values('"+str(i)+"','"+str(copy[i][1])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"','00:00:00.000', '"+str(copy[i][5])+"', '"+str(copy[i][8])+"', '"+str(copy[i][9])+"', '"+str(copy[i][11])+"');") execute_new(pastereq) db_conn_new.commit() #print(copy[i][0]) def ogc_ecrit(): #requete select dans l'ancienne base copyreq="SELECT * FROM ogcompta.ecriture;" cpy=query_old(copyreq) copy=remplacer_apostrophe(cpy) #ici on parcours touts les rows du select pour les transmettre ligne par ligne dans une boucle for for i in range(len(copy)): pastereq = ("INSERT INTO ogcpta.ecrit values('"+str(copy[i][0])+"','"+str(copy[i][1])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"','00:00:00.000', '"+str(copy[i][5])+"', '"+str(copy[i][10])+"','', '"+str(copy[i][27])+"', '"+str(copy[i][12])+"', '"+str(copy[i][8])+"', '"+str(copy[i][11])+"', '"+str(copy[i][29])+"','','','','01-Sep-1983', '', '"+str(copy[i][9])+"', '"+str(copy[i][14])+"','', '"+str(copy[i][15])+"', '"+str(copy[i][16])+"','','01-Sep-1983', '"+str(copy[i][24])+"', '"+str(copy[i][38])+"', '"+str(copy[i][25])+"', '"+str(copy[i][20])+"', '"+str(copy[i][22])+"', '"+str(copy[i][23])+"', '01-Sep-1983','');") execute_new(pastereq) db_conn_new.commit() #print(copy[i][0]) def prod_hebergement(): #on vide la nouvelle table pour être sûr qu'il ne reste pas de donnée dedans cleanreq="TRUNCATE vcatalog.hebergement CASCADE" execute_new(cleanreq) db_conn_new.commit() #requete select dans l'ancienne base copyreq="SELECT * FROM production.hebergement;" cpy=query_old(copyreq) #print(len(cpy)) copy=remplacer_apostrophe(cpy) count = 0 villes="SELECT * FROM vmap.ville;" villes=query_new(villes) #ici on parcours touts les rows du select pour les transmettre ligne par ligne dans une boucle for for i in range(len(copy)): villenum=-1 for j in range(len(villes)): if str(copy[i][75])==str(villes[j][1]): villenum=j break; #tous les booleens a l'index >= 83 sont non definis (none) ce qui retourne une erreur if villenum==-1: #pastereq = ("INSERT INTO vcatalog.hebergement values('"+str(copy[i][0])+"', '"+str(copy[i][1])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"','00:00:00.000', '"+str(copy[i][5])+"', '"+str(copy[i][8])+"', '"+str(copy[i][6])+"', '', '"+str(copy[i][9])+"', '"+str(copy[i][12])+"', '"+str(copy[i][13])+"', '"+str(copy[i][14])+"', '"+str(copy[i][15])+"', '"+str(copy[i][16])+"', '"+str(copy[i][17])+"', '"+str(copy[i][18])+"', '', '', '"+str(copy[i][19])+"', '"+str(copy[i][20])+"', '"+str(copy[i][21])+"', '', '', '"+str(copy[i][22])+"', '"+str(copy[i][23])+"','uuidpays (a changer)', 'codeville (a changer)','cphebergement(a changer)', '"+str(copy[i][24])+"', '"+str(copy[i][76])+"', '"+str(copy[i][77])+"','', '"+str(copy[i][25])+"', '"+str(copy[i][26])+"', '"+str(copy[i][27])+"', '"+str(copy[i][28])+"','False', '"+str(copy[i][30])+"', '"+str(copy[i][29])+"', '"+str(copy[i][31])+"', '"+str(copy[i][32])+"', '"+str(copy[i][34])+"', '"+str(copy[i][35])+"', '"+str(copy[i][36])+"', '"+str(copy[i][37])+"', '"+str(copy[i][38])+"', '"+str(copy[i][39])+"', '"+str(copy[i][40])+"', '"+str(copy[i][41])+"', '"+str(copy[i][42])+"', '"+str(copy[i][43])+"', '"+str(copy[i][44])+"', '"+str(copy[i][45])+"','False', '"+str(copy[i][50])+"', '"+str(copy[i][51])+"', '"+str(copy[i][52])+"', '"+str(copy[i][53])+"', '"+str(copy[i][54])+"', '"+str(copy[i][55])+"', '"+str(copy[i][56])+"', '"+str(copy[i][57])+"', '"+str(copy[i][58])+"', '"+str(copy[i][59])+"', '"+str(copy[i][145])+"', '"+str(copy[i][164])+"','False', '"+str(copy[i][88])+"', '"+str(copy[i][115])+"', '"+str(copy[i][60])+"', '"+str(copy[i][61])+"', '"+str(copy[i][62])+"', '"+str(copy[i][63])+"', '"+str(copy[i][64])+"', '"+str(copy[i][66])+"', '"+str(copy[i][71])+"', '"+str(copy[i][72])+"', '"+str(copy[i][73])+"', '"+str(copy[i][46])+"', '"+str(copy[i][67])+"', '"+str(copy[i][65])+"', '"+str(copy[i][47])+"', '"+str(copy[i][49])+"','','', '"+str(copy[i][75])+"');") pastereq = ("INSERT INTO vcatalog.hebergement values('"+str(copy[i][0])+"', '"+str(copy[i][1])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"','00:00:00.000', '"+str(copy[i][5])+"', '"+str(copy[i][8])+"', '"+str(copy[i][6])+"', '', '"+str(copy[i][9])+"', '"+str(copy[i][12])+"', '"+str(copy[i][13])+"', '"+str(copy[i][14])+"', '"+str(copy[i][15])+"', '"+str(copy[i][16])+"', '"+str(copy[i][17])+"', '"+str(copy[i][18])+"', '', '', '"+str(copy[i][19])+"', '"+str(copy[i][20])+"', '"+str(copy[i][21])+"', '', '', '"+str(copy[i][22])+"', '"+str(copy[i][23])+"','uuidpays (a changer)', 'codeND','cp ND', '"+str(copy[i][24])+"', '"+str(copy[i][76])+"', '"+str(copy[i][77])+"','', '"+str(copy[i][25])+"', '"+str(copy[i][26])+"', 'False', '"+str(copy[i][28])+"','False', '"+str(copy[i][30])+"', '"+str(copy[i][29])+"', '"+str(copy[i][31])+"', '"+str(copy[i][32])+"', '"+str(copy[i][34])+"', '"+str(copy[i][35])+"', '"+str(copy[i][36])+"', '"+str(copy[i][37])+"', '"+str(copy[i][38])+"', '"+str(copy[i][39])+"', '"+str(copy[i][40])+"', '"+str(copy[i][41])+"', '"+str(copy[i][42])+"', '"+str(copy[i][43])+"', '"+str(copy[i][44])+"', '"+str(copy[i][45])+"','False', '"+str(copy[i][50])+"', '"+str(copy[i][51])+"', '"+str(copy[i][52])+"', '"+str(copy[i][53])+"', '"+str(copy[i][54])+"', '"+str(copy[i][55])+"', '"+str(copy[i][56])+"', '"+str(copy[i][57])+"', '"+str(copy[i][58])+"', '"+str(copy[i][59])+"', 'False', 'False','False', 'False', 'False', '"+str(copy[i][60])+"', '"+str(copy[i][61])+"', '"+str(copy[i][62])+"', '"+str(copy[i][63])+"', '"+str(copy[i][64])+"', '"+str(copy[i][66])+"', '"+str(copy[i][71])+"', '"+str(copy[i][72])+"', '"+str(copy[i][73])+"', '"+str(copy[i][46])+"', '"+str(copy[i][67])+"', '"+str(copy[i][65])+"', '"+str(copy[i][47])+"', '"+str(copy[i][49])+"','','', '"+str(copy[i][75])+"');") else: #pastereq = ("INSERT INTO vcatalog.hebergement values('"+str(copy[i][0])+"', '"+str(copy[i][1])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"','00:00:00.000', '"+str(copy[i][5])+"', '"+str(copy[i][8])+"', '"+str(copy[i][6])+"', '', '"+str(copy[i][9])+"', '"+str(copy[i][12])+"', '"+str(copy[i][13])+"', '"+str(copy[i][14])+"', '"+str(copy[i][15])+"', '"+str(copy[i][16])+"', '"+str(copy[i][17])+"', '"+str(copy[i][18])+"', '', '', '"+str(copy[i][19])+"', '"+str(copy[i][20])+"', '"+str(copy[i][21])+"', '', '', '"+str(copy[i][22])+"', '"+str(copy[i][23])+"','"+str(villes[villenum][27])+"', '"+str(villes[villenum][13])+"','"+str(villes[villenum][19])+"', '"+str(copy[i][24])+"', '"+str(copy[i][76])+"', '"+str(copy[i][77])+"','', '"+str(copy[i][25])+"', '"+str(copy[i][26])+"', '"+str(copy[i][27])+"', '"+str(copy[i][28])+"','False', '"+str(copy[i][30])+"', '"+str(copy[i][29])+"', '"+str(copy[i][31])+"', '"+str(copy[i][32])+"', '"+str(copy[i][34])+"', '"+str(copy[i][35])+"', '"+str(copy[i][36])+"', '"+str(copy[i][37])+"', '"+str(copy[i][38])+"', '"+str(copy[i][39])+"', '"+str(copy[i][40])+"', '"+str(copy[i][41])+"', '"+str(copy[i][42])+"', '"+str(copy[i][43])+"', '"+str(copy[i][44])+"', '"+str(copy[i][45])+"','False', '"+str(copy[i][50])+"', '"+str(copy[i][51])+"', '"+str(copy[i][52])+"', '"+str(copy[i][53])+"', '"+str(copy[i][54])+"', '"+str(copy[i][55])+"', '"+str(copy[i][56])+"', '"+str(copy[i][57])+"', '"+str(copy[i][58])+"', '"+str(copy[i][59])+"', '"+str(copy[i][145])+"', '"+str(copy[i][164])+"','False', '"+str(copy[i][88])+"', '"+str(copy[i][115])+"', '"+str(copy[i][60])+"', '"+str(copy[i][61])+"', '"+str(copy[i][62])+"', '"+str(copy[i][63])+"', '"+str(copy[i][64])+"', '"+str(copy[i][66])+"', '"+str(copy[i][71])+"', '"+str(copy[i][72])+"', '"+str(copy[i][73])+"', '"+str(copy[i][46])+"', '"+str(copy[i][67])+"', '"+str(copy[i][65])+"', '"+str(copy[i][47])+"', '"+str(copy[i][49])+"','','', '"+str(copy[i][75])+"');") pastereq = ("INSERT INTO vcatalog.hebergement values('"+str(copy[i][0])+"', '"+str(copy[i][1])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"','00:00:00.000', '"+str(copy[i][5])+"', '"+str(copy[i][8])+"', '"+str(copy[i][6])+"', '', '"+str(copy[i][9])+"', '"+str(copy[i][12])+"', '"+str(copy[i][13])+"', '"+str(copy[i][14])+"', '"+str(copy[i][15])+"', '"+str(copy[i][16])+"', '"+str(copy[i][17])+"', '"+str(copy[i][18])+"', '', '', '"+str(copy[i][19])+"', '"+str(copy[i][20])+"', '"+str(copy[i][21])+"', '', '', '"+str(copy[i][22])+"', '"+str(copy[i][23])+"','"+str(villes[villenum][27])+"', '"+str(villes[villenum][13])+"','"+str(villes[villenum][19])+"', '"+str(copy[i][24])+"', '"+str(copy[i][76])+"', '"+str(copy[i][77])+"','', '"+str(copy[i][25])+"', '"+str(copy[i][26])+"', 'False', '"+str(copy[i][28])+"','False', '"+str(copy[i][30])+"', '"+str(copy[i][29])+"', '"+str(copy[i][31])+"', '"+str(copy[i][32])+"', '"+str(copy[i][34])+"', '"+str(copy[i][35])+"', '"+str(copy[i][36])+"', '"+str(copy[i][37])+"', '"+str(copy[i][38])+"', '"+str(copy[i][39])+"', '"+str(copy[i][40])+"', '"+str(copy[i][41])+"', '"+str(copy[i][42])+"', '"+str(copy[i][43])+"', '"+str(copy[i][44])+"', '"+str(copy[i][45])+"','False', '"+str(copy[i][50])+"', '"+str(copy[i][51])+"', '"+str(copy[i][52])+"', '"+str(copy[i][53])+"', '"+str(copy[i][54])+"', '"+str(copy[i][55])+"', '"+str(copy[i][56])+"', '"+str(copy[i][57])+"', '"+str(copy[i][58])+"', '"+str(copy[i][59])+"', 'False', 'False','False', 'False', 'False', '"+str(copy[i][60])+"', '"+str(copy[i][61])+"', '"+str(copy[i][62])+"', '"+str(copy[i][63])+"', '"+str(copy[i][64])+"', '"+str(copy[i][66])+"', '"+str(copy[i][71])+"', '"+str(copy[i][72])+"', '"+str(copy[i][73])+"', '"+str(copy[i][46])+"', '"+str(copy[i][67])+"', '"+str(copy[i][65])+"', '"+str(copy[i][47])+"', '"+str(copy[i][49])+"','','', '"+str(copy[i][75])+"');") execute_new(pastereq) count += 1 db_conn_new.commit() print(str(count) +" lignes sur "+str(len(cpy))+" lignes de données de la table hébergement ont été correctement transférées!") # def prod_avv(): # #requete select dans l'ancienne base # copyreq="SELECT * FROM production.avv;" # cpy=query_old(copyreq) # print(len(cpy)) # copy=remplacer_apostrophe(cpy) # #ici on parcours touts les rows du select pour les transmettre ligne par ligne dans une boucle for # for i in range(len(copy)): # pastereq = ("INSERT INTO vcatalog.avv values('"+str(copy[i][0])+"', '"+str(copy[i][1])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"','00:00:00.000', '"+str(copy[i][5])+"', '"+str(copy[i][8])+"', '"+str(copy[i][6])+"','', '"+str(copy[i][9])+"', '"+str(copy[i][13])+"', '"+str(copy[i][12])+"', '"+str(copy[i][14])+"', '"+str(copy[i][15])+"', '"+str(copy[i][16])+"', '"+str(copy[i][18])+"', '"+str(copy[i][17])+"', '"+str(copy[i][19])+"', '"+str(copy[i][21])+"', '"+str(copy[i][20])+"', '"+str(copy[i][22])+"', '"+str(copy[i][35])+"','',, '"+str(copy[i][53])+"', '"+str(copy[i][54])+"','', '"+str(copy[i][23])+"', '"+str(copy[i][26])+"','FALSE', '"+str(copy[i][28])+"', '"+str(copy[i][27])+"', '"+str(copy[i][30])+"', '"+str(copy[i][31])+"', '"+str(copy[i][32])+"', '"+str(copy[i][44])+"', '"+str(copy[i][24])+"', '"+str(copy[i][29])+"', '"+str(copy[i][33])+"','', '"+str(copy[i][34])+"', '"+str(copy[i][55])+"', '"+str(copy[i][56])+"', '"+str(copy[i][57])+"', '"+str(copy[i][40])+"', '"+str(copy[i][41])+"', '"+str(copy[i][42])+"', '"+str(copy[i][43])+"', '"+str(copy[i][45])+"', '"+str(copy[i][47])+"', '"+str(copy[i][48])+"', 'False', '"+str(copy[i][50])+"', '"+str(copy[i][51])+"', '"+str(copy[i][58])+"');") # execute_new(pastereq) # db_conn_new.commit() # #print(copy[i][0]) def prod_avv(): #on vide la nouvelle table pour être sûr qu'il ne reste pas de donnée dedans cleanreq="TRUNCATE vcatalog.avv CASCADE" execute_new(cleanreq) db_conn_new.commit() #requete select dans l'ancienne base copyreq="SELECT * FROM production.avv;" cpy=query_old(copyreq) copy=remplacer_apostrophe(cpy) villes="SELECT * FROM vmap.ville;" villes=query_new(villes) services="SELECT * FROM production.type_service;" services=query_old(services) count = 0 #ici on parcours touts les rows du select pour les transmettre ligne par ligne dans une boucle for for i in range(len(copy)): villenum=-1 for j in range(len(villes)): if str(copy[i][40])==str(villes[j][1]): if len(str(villes[j][12]))<=10: villenum=j break; servicenum=-1 for j in range(len(services)): if str(copy[i][39])==str(services[j][1]): servicenum=j break; if villenum==-1: pastereq = ("INSERT INTO vcatalog.avv values('"+str(copy[i][0])+"', '"+str(copy[i][1])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"', '00:00:00.000', '"+str(copy[i][5])+"', '"+str(copy[i][8])+"', '"+str(copy[i][6])+"', '', '"+str(copy[i][9])+"', '"+str(copy[i][13])+"', '"+str(copy[i][12])+"', '"+str(copy[i][14])+"', '"+str(copy[i][15])+"', '"+str(copy[i][16])+"', '"+str(copy[i][18])+"', '"+str(copy[i][17])+"', '"+str(copy[i][19])+"', '"+str(copy[i][21])+"', '"+str(copy[i][20])+"', '"+str(copy[i][22])+"','codvil','', '"+str(copy[i][53])+"', '"+str(copy[i][54])+"','False', '"+str(copy[i][23])+"', '"+str(copy[i][26])+"','False', '"+str(copy[i][28])+"', '"+str(copy[i][27])+"', '"+str(copy[i][30])+"', '"+str(copy[i][31])+"', '"+str(copy[i][32])+"', '"+str(copy[i][23])+"', '"+str(copy[i][24])+"', '"+str(copy[i][29])+"', '"+str(copy[i][33])+"', 'typeserv', '"+str(copy[i][34])+"', '"+str(copy[i][55])+"', '"+str(copy[i][56])+"', '"+str(copy[i][57])+"', '"+str(copy[i][40])+"', '"+str(copy[i][41])+"', '"+str(copy[i][42])+"', '"+str(copy[i][43])+"', '"+str(copy[i][45])+"', '"+str(copy[i][47])+"', '"+str(copy[i][48])+"', '"+str(copy[i][49])+"', '"+str(copy[i][50])+"', '"+str(copy[i][51])+"', '"+str(copy[i][58])+"');") else: pastereq = ("INSERT INTO vcatalog.avv values('"+str(copy[i][0])+"', '"+str(copy[i][1])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"', '00:00:00.000', '"+str(copy[i][5])+"', '"+str(copy[i][8])+"', '"+str(copy[i][6])+"', '', '"+str(copy[i][9])+"', '"+str(copy[i][13])+"', '"+str(copy[i][12])+"', '"+str(copy[i][14])+"', '"+str(copy[i][15])+"', '"+str(copy[i][16])+"', '"+str(copy[i][18])+"', '"+str(copy[i][17])+"', '"+str(copy[i][19])+"', '"+str(copy[i][21])+"', '"+str(copy[i][20])+"', '"+str(copy[i][22])+"','"+str(villes[villenum][13])+"','', '"+str(copy[i][53])+"', '"+str(copy[i][54])+"','False', '"+str(copy[i][23])+"', '"+str(copy[i][26])+"','False', '"+str(copy[i][28])+"', '"+str(copy[i][27])+"', '"+str(copy[i][30])+"', '"+str(copy[i][31])+"', '"+str(copy[i][32])+"', '"+str(copy[i][23])+"', '"+str(copy[i][24])+"', '"+str(copy[i][29])+"', '"+str(copy[i][33])+"', '"+str(services[servicenum][6])+"', '"+str(copy[i][34])+"', '"+str(copy[i][55])+"', '"+str(copy[i][56])+"', '"+str(copy[i][57])+"', '"+str(copy[i][40])+"', '"+str(copy[i][41])+"', '"+str(copy[i][42])+"', '"+str(copy[i][43])+"', '"+str(copy[i][45])+"', '"+str(copy[i][47])+"', '"+str(copy[i][48])+"', '"+str(copy[i][49])+"', '"+str(copy[i][50])+"', '"+str(copy[i][51])+"', '"+str(copy[i][58])+"');") execute_new(pastereq) db_conn_new.commit() count += 1 print(str(count) +" lignes sur "+str(len(cpy))+" lignes de données de la table avv ont été correctement transférées!") def prod_tour(): #on vide la nouvelle table pour être sûr qu'il ne reste pas de donnée dedans cleanreq="TRUNCATE vcatalog.tour CASCADE" execute_new(cleanreq) db_conn_new.commit() #requete select dans l'ancienne base count = 0 copyreq="SELECT * FROM production.tour;" cpy=query_old(copyreq) copy=remplacer_apostrophe(cpy) villes="SELECT * FROM vmap.ville;" villes=query_new(villes) services="SELECT * FROM production.type_service;" services=query_old(services) refs=[] #print(len(cpy[0])) #print(len(villes[0])) #print(len(services[0])) #ici on parcours touts les rows du select pour les transmettre ligne par ligne dans une boucle for for i in range(len(copy)): villenum=-1 for j in range(len(villes)): if str(copy[i][40])==str(villes[j][1]): if len(str(villes[j][12]))<=10: villenum=j break; servicenum=-1 for j in range(len(services)): if str(copy[i][39])==str(services[j][1]): servicenum=j break; valid=True for j in range(len(refs)): if str(copy[i][12])==str(refs[j]): valid=False break; if str(copy[i][1]) != '6aa04278-14a4-47d8-a05c-aad61962187': if valid==True: if villenum==-1: pastereq = ("INSERT INTO vcatalog.tour values('"+str(copy[i][0])+"', '"+str(copy[i][1])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"', '00:00:00.000', '"+str(copy[i][5])+"', '"+str(copy[i][9])+"', '"+str(copy[i][8])+"', '"+str(copy[i][6])+"','', '"+str(copy[i][13])+"', '"+str(copy[i][12])+"','typservice','cvilde','cvilar','"+str(copy[i][14])+"','"+str(copy[i][15])+"', '"+str(copy[i][17])+"', '"+str(copy[i][18])+"', '"+str(copy[i][19])+"', '"+str(copy[i][20])+"', '"+str(copy[i][21])+"', '"+str(copy[i][22])+"', '"+str(copy[i][23])+"', '"+str(copy[i][24])+"', '"+str(copy[i][25])+"', '"+str(copy[i][26])+"', '"+str(copy[i][27])+"', '"+str(copy[i][28])+"', '"+str(copy[i][29])+"', '"+str(copy[i][30])+"', '"+str(copy[i][31])+"', '"+str(copy[i][32])+"', '"+str(copy[i][33])+"', '"+str(copy[i][34])+"', '"+str(copy[i][35])+"', '"+str(copy[i][36])+"', '"+str(copy[i][16])+"', '"+str(copy[i][37])+"', '"+str(copy[i][38])+"','True','True');") else: pastereq = ("INSERT INTO vcatalog.tour values('"+str(copy[i][0])+"','"+str(copy[i][1])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"', '00:00:00.000', '"+str(copy[i][5])+"', '"+str(copy[i][9])+"', '"+str(copy[i][8])+"', '"+str(copy[i][6])+"','', '"+str(copy[i][13])+"', '"+str(copy[i][12])+"','"+str(services[servicenum][6])+"','"+str(villes[villenum][12])+"','"+str(copy[i][40])+"','"+str(copy[i][40])+"', '"+str(copy[i][14])+"','', '"+str(copy[i][15])+"', '"+str(copy[i][17])+"', '"+str(copy[i][18])+"', '"+str(copy[i][19])+"', '"+str(copy[i][20])+"', '"+str(copy[i][21])+"', '"+str(copy[i][22])+"', '"+str(copy[i][23])+"', '"+str(copy[i][24])+"', '"+str(copy[i][25])+"', '"+str(copy[i][26])+"', '"+str(copy[i][27])+"', '"+str(copy[i][28])+"', '"+str(copy[i][29])+"', '"+str(copy[i][30])+"', '"+str(copy[i][31])+"', '"+str(copy[i][32])+"', '"+str(copy[i][33])+"', '"+str(copy[i][34])+"', '"+str(copy[i][35])+"', '"+str(copy[i][36])+"', '"+str(copy[i][16])+"', '"+str(copy[i][37])+"', '"+str(copy[i][38])+"','True','True');") refs.append(copy[i][12]) execute_new(pastereq) db_conn_new.commit() count+=1 print(str(count) +" lignes sur "+str(len(cpy))+" lignes de données de la table tour ont été correctement transférées!") def prod_guide(): #on vide la nouvelle table pour être sûr qu'il ne reste pas de donnée dedans cleanreq="TRUNCATE vcatalog.guide CASCADE" execute_new(cleanreq) db_conn_new.commit() #requete select dans l'ancienne base copyreq="SELECT * FROM production.guide;" cpy=query_old(copyreq) count = 0 copy=remplacer_apostrophe(cpy) #ici on parcours touts les rows du select pour les transmettre ligne par ligne dans une boucle for for i in range(len(copy)): pastereq = ("INSERT INTO vcatalog.guide values('"+str(copy[i][0])+"', '"+str(copy[i][1])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"','00:00:00.000', '"+str(copy[i][5])+"', '"+str(copy[i][8])+"', '"+str(copy[i][6])+"','', '"+str(copy[i][9])+"', '"+str(copy[i][13])+"', '"+str(copy[i][12])+"', '"+str(copy[i][16])+"', '"+str(copy[i][18])+"', '"+str(copy[i][19])+"', '"+str(copy[i][21])+"','', '"+str(copy[i][14])+"', '"+str(copy[i][15])+"','codvil', '"+str(copy[i][24])+"', '"+str(copy[i][23])+"','01-Sep-1983','01-Sep-1983', '"+str(copy[i][22])+"');") execute_new(pastereq) db_conn_new.commit() count+=1 #print(copy[i][0]) print(str(count) +" lignes sur "+str(len(cpy))+" lignes de données de la table guide ont été correctement transférées!") def prod_image(): #on vide la nouvelle table pour être sûr qu'il ne reste pas de donnée dedans cleanreq="TRUNCATE vcatalog.image CASCADE" execute_new(cleanreq) db_conn_new.commit() #requete select dans l'ancienne base copyreq="SELECT * FROM production.image;" cpy=query_old(copyreq) count = 0 copy=remplacer_apostrophe(cpy) #ici on parcours touts les rows du select pour les transmettre ligne par ligne dans une boucle for for i in range(len(copy)): pastereq = ("INSERT INTO vcatalog.image values('"+str(copy[i][0])+"', '"+str(copy[i][1])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"', '"+str(copy[i][5])+"','00:00:00.000', '"+str(copy[i][6])+"', '"+str(copy[i][9])+"', '"+str(copy[i][7])+"','', '"+str(copy[i][10])+"', '"+str(copy[i][41])+"', '"+str(copy[i][2])+"', '"+str(copy[i][42])+"', '"+str(copy[i][13])+"', '"+str(copy[i][14])+"', '"+str(copy[i][15])+"', '"+str(copy[i][16])+"', '"+str(copy[i][18])+"', '"+str(copy[i][17])+"', '"+str(copy[i][19])+"', '"+str(copy[i][20])+"', '"+str(copy[i][21])+"', '"+str(copy[i][22])+"', '"+str(copy[i][23])+"', '"+str(copy[i][24])+"', '"+str(copy[i][25])+"', '"+str(copy[i][26])+"', '"+str(copy[i][27])+"', '"+str(copy[i][28])+"', '"+str(copy[i][29])+"', '"+str(copy[i][30])+"', '"+str(copy[i][31])+"', '"+str(copy[i][32])+"', '"+str(copy[i][33])+"', '"+str(copy[i][34])+"', '"+str(copy[i][35])+"', '"+str(copy[i][36])+"', '"+str(copy[i][37])+"', '"+str(copy[i][38])+"', '"+str(copy[i][39])+"');") execute_new(pastereq) db_conn_new.commit() count +=1 print(str(count) +" lignes sur "+str(len(cpy))+" lignes de données de la table image ont été correctement transférées!") def prod_prix(): #on vide la nouvelle table pour être sûr qu'il ne reste pas de donnée dedans cleanreq="TRUNCATE vcatalog.hebergprix CASCADE" execute_new(cleanreq) db_conn_new.commit() #requete select dans l'ancienne base copyreq="SELECT * FROM production.prix;" cpy=query_old(copyreq) count=0 copy=remplacer_apostrophe(cpy) #ici on parcours touts les rows du select pour les transmettre ligne par ligne dans une boucle for for i in range(len(copy)): pastereq = ("INSERT INTO vcatalog.hebergprix values('"+str(copy[i][0])+"', '"+str(copy[i][1])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"','00:00:00.000', '"+str(copy[i][5])+"', '"+str(copy[i][8])+"', '"+str(copy[i][6])+"','', '"+str(copy[i][9])+"', '"+str(copy[i][18])+"', '"+str(copy[i][12])+"','', '"+str(copy[i][19])+"', '"+str(copy[i][24])+"', '"+str(copy[i][35])+"', '"+str(copy[i][13])+"', '"+str(copy[i][15])+"', '"+str(copy[i][14])+"', '"+str(copy[i][16])+"', '"+str(copy[i][21])+"','','devise','devisetaux','','', '"+str(copy[i][17])+"', '"+str(copy[i][24])+"', '"+str(copy[i][25])+"','','', '"+str(copy[i][33])+"','','','','', '"+str(copy[i][34])+"', '"+str(copy[i][36])+"', '"+str(copy[i][29])+"', '"+str(copy[i][30])+"', '"+str(copy[i][31])+"', '"+str(copy[i][32])+"','','');") execute_new(pastereq) db_conn_new.commit() count +=1 print(str(count) +" lignes sur "+str(len(cpy))+" lignes de données de la table prix ont été correctement transférées!") def pack_pack(): #requete select dans l'ancienne base copyreq="SELECT * FROM pack.pack;" cpy=query_old(copyreq) print(len(cpy)) copy=remplacer_apostrophe(cpy) #ici on parcours touts les rows du select pour les transmettre ligne par ligne dans une boucle for for i in range(len(copy)): pastereq = ("INSERT INTO pack.pack values('"+i+"', '"+str(copy[i][0])+"', '"+str(copy[i][1])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"','00:00:00.000', '"+str(copy[i][4])+"', '"+str(copy[i][8])+"', '"+str(copy[i][7])+"', '"+str(copy[i][5])+"','', '"+str(copy[i][11])+"','', '"+str(copy[i][12])+"', '"+str(copy[i][16])+"', '"+str(copy[i][14])+",'', '"+str(copy[i][13])+"', '"+str(copy[i][17])+"', '"+str(copy[i][15])+"','', '"+str(copy[i][19])+"', '"+str(copy[i][20])+"', '"+str(copy[i][31])+"', '"+str(copy[i][32])+"');") execute_new(pastereq) db_conn_new.commit() #print(copy[i][0]) def ogfiche_clients(): #ici on ouvre le fichier csv et on le place dans une liste a l'aide du module csv with open('clients.csv',encoding='ISO-8859-1',newline='') as f: reader = csv.reader(f) copy = list(reader) copy=remplacer_apostrophe(copy) #print(copy) for i in range(len(copy)): pastereq = ("INSERT INTO ogfiche.f41clients values('"+str(copy[i][1])+"','"+str(uuid.uuid4())+"','"+str(copy[i][3])+"','1983-09-01','1983-09-01','00:00:00.000','','','1983-09-01','"+str(copy[i][25])+"','GROUP','REFFIC','"+str(i)+"','False','"+str(copy[i][4])+"','"+str(copy[i][5])+"','"+str(copy[i][6])+"','"+str(copy[i][7])+"','"+str(copy[i][10])+' '+str(copy[i][11])+"','"+str(copy[i][16])+"','"+str(copy[i][13])+"','"+str(copy[i][14])+"','"+str(copy[i][17])+"','"+str(copy[i][18])+"','"+str(copy[i][19])+"','','"+str(copy[i][21])+"','','','','False','False','CSPF','"+str(copy[i][10])+' '+str(copy[i][11])+"','"+str(copy[i][16])+"','"+str(copy[i][13])+"','"+str(copy[i][14])+"','','"+str(copy[i][10])+' '+str(copy[i][11])+"','"+str(copy[i][16])+"','"+str(copy[i][13])+"','"+str(copy[i][14])+"','','','','"+str(copy[i][24])+"','1983-09-01','1983-09-01','','False','False','False','','','1983-09-01','','','','"+str(copy[i][17])+"','','','False','','1983-09-01','False');") execute_new(pastereq) db_conn_new.commit() #print(copy[i][0]) def ogfiche_pp(): #on vide la nouvelle table pour être sûr qu'il ne reste pas de donnée dedans cleanreq="TRUNCATE ogfiche.pp CASCADE" execute_new(cleanreq) db_conn_new.commit() #requete select dans l'ancienne base copyreq="SELECT * FROM activite.userweb;" cpy=query_old(copyreq) copy=remplacer_apostrophe(cpy) count = 0 #ici on parcours touts les rows du select pour les transmettre ligne par ligne dans une boucle for for i in range(len(copy)): pastereq = ("INSERT INTO ogfiche.pp values( '"+str(copy[i][0])+"', '"+str(copy[i][1])+"', '"+str(copy[i][2])+"', '"+str(copy[i][3])+"', '"+str(copy[i][4])+"', '00:00:00.000', '"+str(copy[i][5])+"', '0', '2022-01-01','', '', 'False', '"+str(copy[i][6])+"', '"+str(copy[i][20])+"', '"+str(copy[i][19])+"', '', '"+str(copy[i][10])+"', '"+str(copy[i][11])+"', '"+str(copy[i][12])+"','"+str(copy[i][14])+"', '"+str(copy[i][15])+"', '"+str(copy[i][16])+"','"+str(copy[i][13])+"','','','"+str(copy[i][8])+"','"+str(copy[i][9])+"','clemodif','"+str(copy[i][17])+"','','','','"+str(copy[i][21])+"','"+str(copy[i][18])+"','','2022-01-01','','','','','');") execute_new(pastereq) db_conn_new.commit() count+=1 print(str(count) +" lignes sur "+str(len(cpy))+" lignes de données de la table userweb ont été correctement transférées!") def vactiv_edoss(): #on vide la nouvelle table pour être sûr qu'il ne reste pas de donnée dedans cleanreq="TRUNCATE vactiv.edoss CASCADE" execute_new(cleanreq) db_conn_new.commit() #requete select dans l'ancienne base copyreq="SELECT * FROM activite.demande;" cpy=query_old(copyreq) copy=remplacer_apostrophe(cpy) count = 0 #ici on parcours touts les rows du select pour les transmettre ligne par ligne dans une boucle for for i in range(22): if copy[i][40] == None: copy[i][40] = '2022-03-03 00:00:00' if copy[i][41] == None: copy[i][41] = '2022-03-03 00:00:00' if copy[i][11] == '': copy[i][11] = 0 for j in range(11): if copy[i][j]== None: copy[i][j] = '' for j in range(12,40): if copy[i][j]==None: copy[i][j]='' print(str(copy[i][13]+copy[i][14]+copy[i][28])) pastereq = ("INSERT INTO vactiv.edoss values( '"+str(count)+"','"+str(copy[i][0])+"', '"+str(copy[i][39])+"', '"+str(copy[i][40])+"', '"+str(copy[i][41])+"', '00:00:00.000', '"+str(copy[i][42])+"', 'groupedoss', '0','2022-03-03', '"+str(copy[i][35])+"', 'False', 'refedoss"+str(count)+"', '"+str(copy[i][1])+"', '"+str(copy[i][30])+"', '"+str(copy[i][19])+"', '0', '"+str(copy[i][4])+"', 'contactinfoedoss','0', '"+str(copy[i][46])+"', '"+str(copy[i][11])+"','"+str(copy[i][38])+"','"+str(copy[i][6])+"','"+str(copy[i][3])+"','"+str(copy[i][43])+"','"+str(copy[i][13]+copy[i][14]+copy[i][28])+"','"+str(copy[i][14])+"','"+str(copy[i][28])+"','"+str(copy[i][16])+"','panieredoss','paxedeoss','"+str(copy[i][9])+"','UUIDPASSAGER!!bien penser remettre uuid pour ce champ et clé étrangère passager_fk vactiv.passager','UUIDPP!!bien penser à remettre uuid pour ce champ et clé étrangere pp_fk ogfiche.pp');") execute_new(pastereq) db_conn_new.commit() count+=1 print(str(count) +" lignes sur "+str(len(cpy))+" lignes de données de la table ont été correctement transférées!") print("===== Début du transfert =====") #print("==> Transfert de la table map.pays vers vmap.pays :") #map_pays() #print("==> Transfert de la table map.region vers vmap.region :") #map_regions() #print("==> Transfert de la table map.ville vers vmap.ville :") #map_ville() #print("==> Transfert de la table map.destination vers vmap.destination :") #map_dest() #map_gateway() #map_zlienregvilles() /!\DROITS REFUSéS/!\ #map_zlienregiondest() #og_ej() #og_oggroup() #og_ogstaff() #og_ogmodule() #print("==> Transfert de la table production.avv vers vcatalog.avv :") #prod_avv() #print("==> Transfert de la table production.hebergement vers vcatalog.hebergement :") #prod_hebergement() #print("==> Transfert de la table production.tour vers vcatalog.tour :") #prod_tour() #print("==> Transfert de la table production.guide vers vcatalog.guide :") #prod_guide() #print("==> Transfert de la table production.image vers vcatalog.image :") #prod_image() #print("==> Transfert de la table production.prix vers vcatalog.hebergprix :") #prod_prix() #print("==> Transfert de la table activite.userweb vers ogfiche.pp") #ogfiche_pp() print("==> Transfert de la table activite.demande vers vactiv.edoss :") vactiv_edoss() print("===== Fin du transfert =====") #ogc_ecrit() #ogc_journaux() #pack_pack() #ogfiche_clients()