From e62328fda21c97219b7c6468c0538f2f94bf78ba Mon Sep 17 00:00:00 2001 From: Kirill Date: Thu, 13 Nov 2025 22:55:23 +0300 Subject: [PATCH] feat(db/InitializeDBData.py): Initialize db data This code is initializing test data for db --- db/InitializeDBData.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 db/InitializeDBData.py diff --git a/db/InitializeDBData.py b/db/InitializeDBData.py new file mode 100644 index 0000000..c6fce81 --- /dev/null +++ b/db/InitializeDBData.py @@ -0,0 +1,39 @@ +import sqlite3 +from loguru import logger as log + +def add_products(): + conn = sqlite3.connect('products.db') + cursor = conn.cursor() + + products_data = [ + ('Труба ПВХ 110x2,25000', 'Труба ПВХ для ВНУТРЕННЕЙ канализации (цвет серый), со сплошной внутренней стенкой толщиной 2,2 мм. Размер: 110x2,25000. Количество в упаковке: 4 шт.', 98.00, 'images/internal_110_1.jpg', 'Внутренняя канализация'), + ('Труба ПВХ 110x2,25000', 'Труба ПВХ для ВНУТРЕННЕЙ канализации (цвет серый), со сплошной внутренней стенкой толщиной 2,2 мм. Размер: 110x2,25000. Количество в упаковке: 4 шт.', 165.00, 'images/internal_110_2.jpg', 'Внутренняя канализация'), + ('Труба ПВХ 110x2,25000', 'Труба ПВХ для ВНУТРЕННЕЙ канализации (цвет серый), со сплошной внутренней стенкой толщиной 2,2 мм. Размер: 110x2,25000. Количество в упаковке: 4 шт.', 236.00, 'images/internal_110_3.jpg', 'Внутренняя канализация'), + ('Труба ПВХ 110x2,25000', 'Труба ПВХ для ВНУТРЕННЕЙ канализации (цвет серый), со сплошной внутренней стенкой толщиной 2,2 мм. Размер: 110x2,25000. Количество в упаковке: 4 шт.', 284.00, 'images/internal_110_4.jpg', 'Внутренняя канализация'), + ('Труба ПВХ 110x2,25000', 'Труба ПВХ для ВНУТРЕННЕЙ канализации (цвет серый), со сплошной внутренней стенкой толщиной 2,2 мм. Размер: 110x2,25000. Количество в упаковке: 4 шт.', 426.00, 'images/internal_110_5.jpg', 'Внутренняя канализация'), + ('Труба ПВХ 110x3,25000', 'Труба ПВХ для НАРУЖНОЙ канализации (цвет коричнево-оранжевый), со сплошной внутренней стенкой, класс жесткости 8мм. Размер: 110x3,25000. Количество в упаковке: 4 шт.', 125.00, 'images/external_110_1.jpg', 'Наружная канализация'), + ('Труба ПВХ 110x3,25000', 'Труба ПВХ для НАРУЖНОЙ канализации (цвет коричнево-оранжевый), со сплошной внутренней стенкой, класс жесткости 8мм. Размер: 110x3,25000. Количество в упаковке: 4 шт.', 220.00, 'images/external_110_2.jpg', 'Наружная канализация'), + ('Труба ПВХ 110x3,25000', 'Труба ПВХ для НАРУЖНОЙ канализации (цвет коричнево-оранжевый), со сплошной внутренней стенкой, класс жесткости 8мм. Размер: 110x3,25000. Количество в упаковке: 4 шт.', 380.00, 'images/external_110_3.jpg', 'Наружная канализация'), + ('Труба ПВХ 110x3,25000', 'Труба ПВХ для НАРУЖНОЙ канализации (цвет коричнево-оранжевый), со сплошной внутренней стенкой, класс жесткости 8мм. Размер: 110x3,25000. Количество в упаковке: 4 шт.', 585.00, 'images/external_110_4.jpg', 'Наружная канализация'), + ('Труба ПВХ 110x3,25000', 'Труба ПВХ для НАРУЖНОЙ канализации (цвет коричнево-оранжевый), со сплошной внутренней стенкой, класс жесткости 8мм. Размер: 110x3,25000. Количество в упаковке: 4 шт.', 780.00, 'images/external_110_5.jpg', 'Наружная канализация'), + ('Труба ПВХ 160x3,50000', 'Труба ПВХ для НАРУЖНОЙ канализации (цвет коричнево-оранжевый), со сплошной внутренней стенкой, класс жесткости 8мм. Размер: 160x3,50000. Количество в упаковке: 2 шт.', 398.00, 'images/external_160_1.jpg', 'Наружная канализация'), + ('Труба ПВХ 160x3,50000', 'Труба ПВХ для НАРУЖНОЙ канализации (цвет коричнево-оранжевый), со сплошной внутренней стенкой, класс жесткости 8мм. Размер: 160x3,50000. Количество в упаковке: 2 шт.', 724.00, 'images/external_160_2.jpg', 'Наружная канализация'), + ('Труба ПВХ 160x3,50000', 'Труба ПВХ для НАРУЖНОЙ канализации (цвет коричнево-оранжевый), со сплошной внутренней стенкой, класс жесткости 8мм. Размер: 160x3,50000. Количество в упаковке: 2 шт.', 1068.00, 'images/external_160_3.jpg', 'Наружная канализация'), + ] + + for name, description, price, image_path, product_type in products_data: + cursor.execute( + 'INSERT INTO Product (name, description, price, image_path) VALUES (?, ?, ?, ?)', + (name, description, price, image_path) + ) + + product_id = cursor.lastrowid + + cursor.execute( + 'INSERT INTO Type (name, product_id) VALUES (?, ?)', + (product_type, product_id) + ) + + conn.commit() + conn.close() + log.info(f"Добавлено {len(products_data)} товаров в базу данных!")