fix: check for id in simple_insert_one() to avoid breaking autoincrement
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user