[ВОЛК] при загрузке событий заполняется поле 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("Проверка структуры базы данных")
|
||||
ensure_database_structure()
|
||||
|
||||
# Получаем максимальный number для данной категории, чтобы продолжить нумерацию
|
||||
# Получаем максимальный number и id_event для данной категории, чтобы продолжить нумерацию
|
||||
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,)
|
||||
)
|
||||
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
|
||||
@@ -324,11 +327,11 @@ def load_events_by_category(category_id):
|
||||
|
||||
if not existing:
|
||||
# Вставка новой записи
|
||||
# Используем 0 для id_event, так как его нет в JSON
|
||||
# Используем одинаковое значение для id_event и number
|
||||
cursor.execute(
|
||||
"""INSERT INTO events (id_event, number, unit_name, name, about, about_social_picture, authors)
|
||||
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
|
||||
log_message(f"Добавление: Событие '{name}', номер: {current_number}, категория: {category_id}")
|
||||
|
||||
Reference in New Issue
Block a user