[ВОЛК] при загрузке событий заполняется поле id_event для избегания проблем с индексами
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
+8
-5
@@ -292,13 +292,16 @@ def load_events_by_category(category_id):
|
|||||||
log_message("Проверка структуры базы данных")
|
log_message("Проверка структуры базы данных")
|
||||||
ensure_database_structure()
|
ensure_database_structure()
|
||||||
|
|
||||||
# Получаем максимальный number для данной категории, чтобы продолжить нумерацию
|
# Получаем максимальный number и id_event для данной категории, чтобы продолжить нумерацию
|
||||||
cursor.execute(
|
cursor.execute(
|
||||||
"SELECT MAX(number) as max_number FROM events WHERE unit_name = %s",
|
"SELECT MAX(number) as max_number, MAX(id_event) as max_id_event FROM events WHERE unit_name = %s",
|
||||||
(category_id,)
|
(category_id,)
|
||||||
)
|
)
|
||||||
result = cursor.fetchone()
|
result = cursor.fetchone()
|
||||||
start_number = (result['max_number'] or 0) + 1
|
max_number = result['max_number'] or 0
|
||||||
|
max_id_event = result['max_id_event'] or 0
|
||||||
|
# Используем максимальное значение из обоих полей для начала нумерации
|
||||||
|
start_number = max(max_number, max_id_event) + 1
|
||||||
|
|
||||||
# Обработка событий
|
# Обработка событий
|
||||||
current_number = start_number
|
current_number = start_number
|
||||||
@@ -324,11 +327,11 @@ def load_events_by_category(category_id):
|
|||||||
|
|
||||||
if not existing:
|
if not existing:
|
||||||
# Вставка новой записи
|
# Вставка новой записи
|
||||||
# Используем 0 для id_event, так как его нет в JSON
|
# Используем одинаковое значение для id_event и number
|
||||||
cursor.execute(
|
cursor.execute(
|
||||||
"""INSERT INTO events (id_event, number, unit_name, name, about, about_social_picture, authors)
|
"""INSERT INTO events (id_event, number, unit_name, name, about, about_social_picture, authors)
|
||||||
VALUES (%s, %s, %s, %s, %s, %s, %s)""",
|
VALUES (%s, %s, %s, %s, %s, %s, %s)""",
|
||||||
(0, current_number, unit_name, name, about, about_social_picture, authors)
|
(current_number, current_number, unit_name, name, about, about_social_picture, authors)
|
||||||
)
|
)
|
||||||
inserted_count += 1
|
inserted_count += 1
|
||||||
log_message(f"Добавление: Событие '{name}', номер: {current_number}, категория: {category_id}")
|
log_message(f"Добавление: Событие '{name}', номер: {current_number}, категория: {category_id}")
|
||||||
|
|||||||
Reference in New Issue
Block a user