From bdfa31c8eaeb6a22236f4f2b0de9c302f7bec59a Mon Sep 17 00:00:00 2001 From: sherl Date: Tue, 3 Jun 2025 21:46:59 +0200 Subject: [PATCH] fix: check for id in simple_insert_one() to avoid breaking autoincrement --- FlaskWebProject/FlaskWebProject/lewy_db.py | 24 ++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/FlaskWebProject/FlaskWebProject/lewy_db.py b/FlaskWebProject/FlaskWebProject/lewy_db.py index 0b5c515..2bf2ee9 100644 --- a/FlaskWebProject/FlaskWebProject/lewy_db.py +++ b/FlaskWebProject/FlaskWebProject/lewy_db.py @@ -10,6 +10,18 @@ import traceback global db +class c: + HEADER = '\033[95m' + OKBLUE = '\033[94m' + OKCYAN = '\033[96m' + OKGREEN = '\033[92m' + WARNING = '\033[93m' + FAIL = '\033[91m' + ENDC = '\033[0m' + BOLD = '\033[1m' + UNDERLINE = '\033[4m' + ENDL = '\n' + class baza(): # global sportowcy, trofea, sportowcy_w_meczach, statystyki_sportowcow, kluby, mecze @@ -168,9 +180,9 @@ class baza(): try: return_val = func(self, *args, **kwargs) except: - print( "\033[91m" + print(f"{c.FAIL}" f"Wystąpił błąd podczas wykonywania zapytania SQL:" - "\033[0m" + f"{c.ENDC}" "\n" f"{traceback.format_exc()}") self.session.rollback() @@ -263,6 +275,14 @@ class baza(): if not isinstance(entity_type, str): entity_type = entity_type.__name__ + if "id" in kwargs: + print(f"{c.FAIL}UWAGA!{c.ENDC}") + print(f"Próbujesz dodać obiekt do tabeli, który ma już identyfikator.\n" + f"To spowoduje problemy w przyszłości, gdy będziesz chciał dodać nowy obiekt do bazy bez ustawiania id na sztywno\n" + f"(id klucza głównego nie zostanie zaktualizowane w sekwencji, przez co baza będzie próbowała dodać obiekt z id już istniejącego rekordu!).\n" + f"Aby naprawić dodawanie z autoinkrementującym kluczem zobacz {c.WARNING}https://stackoverflow.com/a/8745101{c.ENDC}\n" + f"Zostałeś ostrzeżony!") + print(f"[{round(time.time())}] INSERT") obj = self.entities[entity_type](**kwargs)