diff --git a/volk_load.py b/volk_load.py index 440675d..372a8fc 100644 --- a/volk_load.py +++ b/volk_load.py @@ -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}")