fix[SQL]: no duplicatas.
This commit is contained in:
parent
37d0c430c7
commit
50db25c0f0
@ -214,7 +214,12 @@ def generate_line_messages(idMembre : str, idFil : str,
|
|||||||
idMessage : str = give_not_used_key(idMessageDict)
|
idMessage : str = give_not_used_key(idMessageDict)
|
||||||
contenu : str = "\'" + random_element(pathSentences) + "\'"
|
contenu : str = "\'" + random_element(pathSentences) + "\'"
|
||||||
|
|
||||||
return construct_line(idMessage, contenu, idFil, idMessage2)
|
# When the first message is declared.
|
||||||
|
if idMessage2 == '':
|
||||||
|
idMessage2 = idMessage
|
||||||
|
|
||||||
|
return construct_line(idMessage, contenu, idMembre, idFil, \
|
||||||
|
idMessage2)
|
||||||
|
|
||||||
def generate_line_modeles(idMembre : str, idModeleEte : str) -> str:
|
def generate_line_modeles(idMembre : str, idModeleEte : str) -> str:
|
||||||
idModele : str = give_not_used_key(idModeleDict)
|
idModele : str = give_not_used_key(idModeleDict)
|
||||||
@ -330,12 +335,20 @@ def generate_table_using_quantite(nbElements : int, nameTable : str,
|
|||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
# Need to do it manually, otherwise it is too hard.
|
def remove_duplicata(pathFile : str) -> None:
|
||||||
|
"""
|
||||||
|
:param pathFile: a .data file.
|
||||||
|
"""
|
||||||
|
lines_seen = set() # holds lines already seen.
|
||||||
|
|
||||||
# Step 1 : remove the duplicated primary keys,
|
outfile = open("temp.data", "w")
|
||||||
# if there are 2 objects with the same primary key.
|
for line in open(pathFile, "r"):
|
||||||
|
if line not in lines_seen: # not a duplicate.
|
||||||
|
outfile.write(line)
|
||||||
|
lines_seen.add(line)
|
||||||
|
outfile.close()
|
||||||
|
|
||||||
# Step 2 : remove the lines that have a foreign key that does not exist.
|
os.rename("temp.data", pathFile)
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#
|
#
|
||||||
@ -597,6 +610,10 @@ if __name__ == '__main__':
|
|||||||
#
|
#
|
||||||
###########################################################################
|
###########################################################################
|
||||||
|
|
||||||
|
# Remove duplicatas.
|
||||||
|
for nameTable in tablesDict:
|
||||||
|
remove_duplicata(give_path_file(nameTable))
|
||||||
|
|
||||||
# Writing in `insert.sql`.
|
# Writing in `insert.sql`.
|
||||||
fileSql = open("insert.sql", 'w+')
|
fileSql = open("insert.sql", 'w+')
|
||||||
fileSql.write("TRUNCATE " + ', '.join(tablesDict) + ";\n")
|
fileSql.write("TRUNCATE " + ', '.join(tablesDict) + ";\n")
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user