fixup! fix(DB): Added data to new db structure

This commit is contained in:
Black_Raven committed 2025-11-29 16:02:41 +03:00
1 parent 04789e7e8f
commit 24c12d704c
1 file changed
+79 -24
+79 -24
View File
@@ -13,17 +13,62 @@ def init_tables(db_name='pipe_store.db'):
category_count = cursor.fetchone()[0] category_count = cursor.fetchone()[0]
if category_count > 0: if category_count > 0:
log.info("Данные уже существуют в базе данных, пропускаем добавление") log.info("Категории уже были добавлены в базу данных, пропускаем инициализацию")
conn.close() conn.close()
return return
log.info("Начинаем заполнение базы данных...") log.info("Начинаем инициализацию базы категорий...")
main_category_id = add_category(conn, "Трубы ПВХ", "Трубы ПВХ для канализации") # Добавляем категории с распределением по страницам
internal_category_id = add_category(conn, "Для внутренней канализации", "Трубы для внутренней канализации", main_category_id) # Страница 1
external_category_id = add_category(conn, "Для наружной канализации", "Трубы для наружной канализации", main_category_id) main_category_id = add_category(
conn,
"Трубы ПВХ",
"Трубы ПВХ для канализационных систем",
image_path="/images/categories/pvc_pipes_main.jpg",
page_number=1
)
log.info("Категории созданы успешно") # Страница 1
internal_category_id = add_category(
conn,
"Для внутренней канализации",
"Трубы для внутренней канализационной системы",
main_category_id,
image_path="/images/categories/internal_pipes.jpg",
page_number=1
)
# Страница 1
external_category_id = add_category(
conn,
"Для наружной канализации",
"Трубы для наружной канализационной системы",
main_category_id,
image_path="/images/categories/external_pipes.jpg",
page_number=1
)
# Дополнительные категории для демонстрации пагинации (страница 2)
add_category(
conn,
"Фитинги для ПВХ труб",
"Соединительные элементы для ПВХ труб",
main_category_id,
image_path="/images/categories/fittings.jpg",
page_number=2
)
add_category(
conn,
"Колена и отводы",
"Угловые соединения для ПВХ труб",
main_category_id,
image_path="/images/categories/elbows.jpg",
page_number=2
)
log.info("Категории успешно созданы")
add_filter(conn, "Диаметр", "diameter", "multiple") add_filter(conn, "Диаметр", "diameter", "multiple")
add_filter(conn, "Длина", "length", "multiple") add_filter(conn, "Длина", "length", "multiple")
@@ -32,39 +77,49 @@ def init_tables(db_name='pipe_store.db'):
add_filter(conn, "Класс жесткости", "stiffness_class", "single") add_filter(conn, "Класс жесткости", "stiffness_class", "single")
add_filter(conn, "Толщина стенки", "wall_thickness", "multiple") add_filter(conn, "Толщина стенки", "wall_thickness", "multiple")
log.info("Фильтры добавлены успешно") log.info("Фильтры успешно добавлены")
# Данные продуктов с распределением по страницам
products_data = [ products_data = [
"Труба ПВХ для ВНУТРЕННЕЙ канализации (цвет серый), со сплошной внутренней стенкой толщиной 2,2 мм 110х2,2х500", # Страница 1 - внутренние трубы
"Труба ПВХ для ВНУТРЕННЕЙ канализации (цвет серый), со сплошной внутренней стенкой толщиной 2,2 мм 110х2,2х1000", {"text": "Труба ПВХ для ВНУТРЕННЕЙ канализации (цвет серый), с внутренней структурной стенкой толщиной 2,2 мм 110х2,2х500", "image": "/images/products/internal_110_500.jpg", "page": 1},
"Труба ПВХ для ВНУТРЕННЕЙ канализации (цвет серый), со сплошной внутренней стенкой толщиной 2,2 мм 110х2,2х1500", {"text": "Труба ПВХ для ВНУТРЕННЕЙ канализации (цвет серый), с внутренней структурной стенкой толщиной 2,2 мм 110х2,2х1000", "image": "/images/products/internal_110_1000.jpg", "page": 1},
"Труба ПВХ для ВНУТРЕННЕЙ канализации (цвет серый), со сплошной внутренней стенкой толщиной 2,2 мм 110х2,2х2000", {"text": "Труба ПВХ для ВНУТРЕННЕЙ канализации (цвет серый), с внутренней структурной стенкой толщиной 2,2 мм 110х2,2х1500", "image": "/images/products/internal_110_1500.jpg", "page": 1},
"Труба ПВХ для ВНУТРЕННЕЙ канализации (цвет серый), со сплошной внутренней стенкой толщиной 2,2 мм 110х2,2х3000", {"text": "Труба ПВХ для ВНУТРЕННЕЙ канализации (цвет серый), с внутренней структурной стенкой толщиной 2,2 мм 110х2,2х2000", "image": "/images/products/internal_110_2000.jpg", "page": 1},
"Труба ПВХ для НАРУЖНОЙ канализации (цвет коричнево-оранжевый), со сплошной внутренней стенкой, класс жесткости SN4 110х3,2х500", {"text": "Труба ПВХ для ВНУТРЕННЕЙ канализации (цвет серый), с внутренней структурной стенкой толщиной 2,2 мм 110х2,2х3000", "image": "/images/products/internal_110_3000.jpg", "page": 1},
"Труба ПВХ для НАРУЖНОЙ канализации (цвет коричнево-оранжевый), со сплошной внутренней стенкой, класс жесткости SN4 110х3,2х1000",
"Труба ПВХ для НАРУЖНОЙ канализации (цвет коричнево-оранжевый), со сплошной внутренней стенкой, класс жесткости SN4 110х3,2х2000", # Страница 1 - наружные трубы
"Труба ПВХ для НАРУЖНОЙ канализации (цвет коричнево-оранжевый), со сплошной внутренней стенкой, класс жесткости SN4 110х3,2х3000", {"text": "Труба ПВХ для НАРУЖНОЙ канализации (цвет оранжево-коричневый), с внутренней структурной стенкой, класс жесткости SN4 110х3,2х500", "image": "/images/products/external_110_sn4_500.jpg", "page": 1},
"Труба ПВХ для НАРУЖНОЙ канализации (цвет коричнево-оранжевый), со сплошной внутренней стенкой, класс жесткости SN4 110х3,2х4000", {"text": "Труба ПВХ для НАРУЖНОЙ канализации (цвет оранжево-коричневый), с внутренней структурной стенкой, класс жесткости SN4 110х3,2х1000", "image": "/images/products/external_110_sn4_1000.jpg", "page": 1},
"Труба ПВХ для НАРУЖНОЙ канализации (цвет коричнево-оранжевый), со сплошной внутренней стенкой, класс жесткости SN2 160х3,6х1000", {"text": "Труба ПВХ для НАРУЖНОЙ канализации (цвет оранжево-коричневый), с внутренней структурной стенкой, класс жесткости SN4 110х3,2х2000", "image": "/images/products/external_110_sn4_2000.jpg", "page": 1},
"Труба ПВХ для НАРУЖНОЙ канализации (цвет коричнево-оранжевый), со сплошной внутренней стенкой, класс жесткости SN2 160х3,6х2000",
"Труба ПВХ для НАРУЖНОЙ канализации (цвет коричнево-оранжевый), со сплошной внутренней стенкой, класс жесткости SN2 160х3,6х3000" # Страница 2 - оставшиеся наружные трубы
{"text": "Труба ПВХ для НАРУЖНОЙ канализации (цвет оранжево-коричневый), с внутренней структурной стенкой, класс жесткости SN4 110х3,2х3000", "image": "/images/products/external_110_sn4_3000.jpg", "page": 2},
{"text": "Труба ПВХ для НАРУЖНОЙ канализации (цвет оранжево-коричневый), с внутренней структурной стенкой, класс жесткости SN4 110х3,2х4000", "image": "/images/products/external_110_sn4_4000.jpg", "page": 2},
{"text": "Труба ПВХ для НАРУЖНОЙ канализации (цвет оранжево-коричневый), с внутренней структурной стенкой, класс жесткости SN2 160х3,6х1000", "image": "/images/products/external_160_sn2_1000.jpg", "page": 2},
{"text": "Труба ПВХ для НАРУЖНОЙ канализации (цвет оранжево-коричневый), с внутренней структурной стенкой, класс жесткости SN2 160х3,6х2000", "image": "/images/products/external_160_sn2_2000.jpg", "page": 2},
{"text": "Труба ПВХ для НАРУЖНОЙ канализации (цвет оранжево-коричневый), с внутренней структурной стенкой, класс жесткости SN2 160х3,6х3000", "image": "/images/products/external_160_sn2_3000.jpg", "page": 2},
] ]
added_products = 0 added_products = 0
for product_text in products_data: for product_info in products_data:
product_text = product_info["text"]
image_path = product_info["image"]
page_number = product_info["page"]
if "ВНУТРЕННЕЙ" in product_text: if "ВНУТРЕННЕЙ" in product_text:
category_id = internal_category_id category_id = internal_category_id
else: else:
category_id = external_category_id category_id = external_category_id
product_id = add_product(conn, product_text, category_id) product_id = add_product(conn, product_text, category_id, image_path, page_number)
if product_id: if product_id:
added_products += 1 added_products += 1
log.info(f"Добавлен товар: {product_text[:50]}...") log.info(f"Добавлен товар: {product_text[:50]}... (страница {page_number})")
else: else:
log.error(f"Ошибка при добавлении товара: {product_text}") log.error(f"Ошибка при добавлении товара: {product_text}")
conn.commit() conn.commit()
conn.close() conn.close()
log.success(f"Успешно добавлено {added_products} товаров в базу данных!") log.success(f"Успешно добавлено {added_products} товаров в базу категорий!")