import os import getpass import mysql.connector from table import Table from sql import SQL from mysql.connector import Error def main(): print("Bem-vindo!") print("Inicialmente, os dados precisam ser importados do MySQL") print("Caso isso já tenha sido feito, os arquivos .csv serao sobreescritos") print("Se algum update,insert ou delete tenha sido feito, ele sera perdido") print("Eh recomendado importar as tabelas do bando de dados pelo menos no primeiro acesso") print("Deseja importar os dados (digite BD) ou utilizar os arquivos.csv (digite CSV)?") escolha = input() tables = {} if escolha == "CSV": print("Espere os arquivos.csv carregarem...") #print("Digite a pasta onde estão os arquivos CSV:") #csv_folder = input() csv_folder = "./source" # Seleciona todos o csv presentes na pasta for file in os.listdir(csv_folder): if file.endswith(".csv"): table_name = file.split(".")[0] table = Table(table_name) table.load_from_csv(f"{csv_folder}/{file}") tables[table_name] = table print("\nTabelas carregadas:") print(', '.join(tables.keys())+"\n") while True: print("Digite a query [0 para sair]:") query = input() if query == "0": break sql = SQL(tables, query) sql.execute() print() elif escolha == "BD": print("Host (localhost):") host_name = input() print("Database (employees):") database_name = input() print("User:") user_name = input() password_name = getpass.getpass() try: connection = mysql.connector.connect(host=host_name, database=database_name, user=user_name, password=password_name) if connection.is_connected(): print("Conectado ao employees-db") cursor = connection.cursor() cursor.execute("SHOW TABLES") tables_names = cursor.fetchall() for table_name in tables_names: # table_name = ('departments', ) table_name = table_name[0] # table_name = 'departments' print('Carregando', table_name) tables[table_name] = Table(table_name) tables[table_name].load_from_mysql(table_name,cursor) tables[table_name].save_to_csv() print('Carregado', table_name) except Error as e: print("Error while connecting to MySQL", e) finally: if connection.is_connected(): cursor.close() connection.close() print("MySQL connection is closed") print("Espere os arquivos.csv carregarem...") #print("Digite a pasta onde estão os arquivos CSV:") #csv_folder = input() csv_folder = "./source" tables = {} # Seleciona todos o csv presentes na pasta for file in os.listdir(csv_folder): if file.endswith(".csv"): table_name = file.split(".")[0] table = Table(table_name) table.load_from_csv(f"{csv_folder}/{file}") tables[table_name] = table print("\nTabelas carregadas:") print(', '.join(tables.keys())+"\n") while True: print("Digite a query [0 para sair]:") query = input() if query == "0": break sql = SQL(tables, query) sql.execute() print() else: print("Fora do intervalo!") if __name__ == "__main__": main()