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
|
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():
|
class baza():
|
||||||
|
|
||||||
# global sportowcy, trofea, sportowcy_w_meczach, statystyki_sportowcow, kluby, mecze
|
# global sportowcy, trofea, sportowcy_w_meczach, statystyki_sportowcow, kluby, mecze
|
||||||
@@ -168,9 +180,9 @@ class baza():
|
|||||||
try:
|
try:
|
||||||
return_val = func(self, *args, **kwargs)
|
return_val = func(self, *args, **kwargs)
|
||||||
except:
|
except:
|
||||||
print( "\033[91m"
|
print(f"{c.FAIL}"
|
||||||
f"Wystąpił błąd podczas wykonywania zapytania SQL:"
|
f"Wystąpił błąd podczas wykonywania zapytania SQL:"
|
||||||
"\033[0m"
|
f"{c.ENDC}"
|
||||||
"\n"
|
"\n"
|
||||||
f"{traceback.format_exc()}")
|
f"{traceback.format_exc()}")
|
||||||
self.session.rollback()
|
self.session.rollback()
|
||||||
@@ -263,6 +275,14 @@ class baza():
|
|||||||
if not isinstance(entity_type, str):
|
if not isinstance(entity_type, str):
|
||||||
entity_type = entity_type.__name__
|
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")
|
print(f"[{round(time.time())}] INSERT")
|
||||||
|
|
||||||
obj = self.entities[entity_type](**kwargs)
|
obj = self.entities[entity_type](**kwargs)
|
||||||
|
|||||||
Reference in New Issue
Block a user