diff --git a/PostgreSQL/build/.gitkeep b/PostgreSQL/build/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/PostgreSQL/generate_data.py b/PostgreSQL/generate_data.py index 18956a9..dd7a92c 100644 --- a/PostgreSQL/generate_data.py +++ b/PostgreSQL/generate_data.py @@ -44,7 +44,7 @@ def random_element(pathFile : str) -> str: """ with open(pathFile, 'r') as file: csvList : list = list(csv.reader(file)) - random_index_line : int = random.randint(0, len(csvList)) + random_index_line : int = random.randint(1, len(csvList) - 1) return "" if ( csvList[random_index_line] == [] ) \ else csvList[random_index_line][0] @@ -124,7 +124,7 @@ def generate_line_etre() -> str: idPiece : str = random_element(pathIntegers) idMarque : str = random_element(pathIntegers) - return construct_line(idBoite, idMarque) + return construct_line(idPiece, idMarque) def generate_line_etre_complexe() -> str: idPiece : str = random_element(pathIntegers) @@ -259,17 +259,24 @@ def convert_table_to_sql(pathFile : str, nameTable : str) -> None: Write the code in append mode to the file called `insert.sql`. """ - fileSql = open("insert.sql", "a") # append mode. + fileSql = open("insert.sql", 'a') # append mode. - fileSql.write("INSERT INTO " + nameTable + "VALUES\n") + fileSql.write("INSERT INTO " + nameTable + " VALUES\n") with open(pathFile, "r") as fileData: - fileSql.writeLines(fileData.readLines()) + fileSql.writelines(fileData.readlines()) - fileSql.write(";\n") - fileSql.write("\n") fileSql.close() + # Replace last ',' by ';'. + with open("insert.sql", 'rb+') as fileSql: + fileSql.seek(-2, 2) + fileSql.truncate() + + with open("insert.sql", 'a') as fileSql: + fileSql.write(";\n") + fileSql.write("\n") + ############################################################################### dictTables : dict = { @@ -300,20 +307,27 @@ dictTables : dict = { ############################################################################### -if __name__ == '__main__': - fileSql = open("insert.sql", "w+") - - arrayNameTables : list = dictTables.keys() - fileSql.write("TRUNCATE " + ', '.join(arrayNameTables) + ";\n") - fileSql.write("\n") - - - - - - - - fileSql.close() +def givePathFile(nameTable : str) -> str: + repertory : str = "build/" + return repertory + nameTable + ".data" + +############################################################################### + +if __name__ == '__main__': + # Uncomment if you want to generate data. + # for nameTable in dictTables: + # store_table(1000, givePathFile(nameTable), dictTables[nameTable]) + + fileSql = open("insert.sql", 'w+') + + fileSql.write("TRUNCATE " + ', '.join(dictTables) + ";\n") + fileSql.write("\n") + fileSql.close() + + with open("insert.sql", 'a') as fileSql: + for nameTable in dictTables: + convert_table_to_sql(givePathFile(nameTable), nameTable) + ###############################################################################