fixup! fix(DataBase): Fix Data Base struct

This commit is contained in:
Black_Raven committed 2025-11-23 22:42:23 +03:00
1 parent 87392869b1
commit ce5f84beba
1 file changed
+22 -14
+22 -14
View File
@@ -5,7 +5,6 @@ def init_database():
conn = sqlite3.connect('products.db') conn = sqlite3.connect('products.db')
cursor = conn.cursor() cursor = conn.cursor()
# Создаем таблицу Product
cursor.execute(''' cursor.execute('''
CREATE TABLE IF NOT EXISTS Product ( CREATE TABLE IF NOT EXISTS Product (
id INTEGER PRIMARY KEY AUTOINCREMENT, id INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -14,7 +13,6 @@ def init_database():
) )
''') ''')
# Создаем таблицу Param
cursor.execute(''' cursor.execute('''
CREATE TABLE IF NOT EXISTS Param ( CREATE TABLE IF NOT EXISTS Param (
id INTEGER PRIMARY KEY AUTOINCREMENT, id INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -23,7 +21,6 @@ def init_database():
) )
''') ''')
# Создаем таблицу Val
cursor.execute(''' cursor.execute('''
CREATE TABLE IF NOT EXISTS Val ( CREATE TABLE IF NOT EXISTS Val (
id INTEGER PRIMARY KEY AUTOINCREMENT, id INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -31,30 +28,21 @@ def init_database():
) )
''') ''')
# Создаем таблицу CParams
cursor.execute(''' cursor.execute('''
CREATE TABLE IF NOT EXISTS CParams ( CREATE TABLE IF NOT EXISTS CParams (
id INTEGER PRIMARY KEY AUTOINCREMENT, id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL, name TEXT NOT NULL
val_id INTEGER,
FOREIGN KEY (val_id) REFERENCES Val (id)
) )
''') ''')
# Создаем таблицу Category
cursor.execute(''' cursor.execute('''
CREATE TABLE IF NOT EXISTS Category ( CREATE TABLE IF NOT EXISTS Category (
id INTEGER PRIMARY KEY AUTOINCREMENT, id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL, name TEXT NOT NULL,
prod_id INTEGER, image_path TEXT
image_path TEXT,
c_params_id INTEGER,
FOREIGN KEY (prod_id) REFERENCES Product (id),
FOREIGN KEY (c_params_id) REFERENCES CParams (id)
) )
''') ''')
# Создаем таблицу Product_Param (связь многие-ко-многим)
cursor.execute(''' cursor.execute('''
CREATE TABLE IF NOT EXISTS Product_Param ( CREATE TABLE IF NOT EXISTS Product_Param (
product_id INTEGER, product_id INTEGER,
@@ -65,6 +53,26 @@ def init_database():
) )
''') ''')
cursor.execute('''
CREATE TABLE IF NOT EXISTS Category_CParams (
category_id INTEGER,
cparams_id INTEGER,
PRIMARY KEY (category_id, cparams_id),
FOREIGN KEY (category_id) REFERENCES Category (id),
FOREIGN KEY (cparams_id) REFERENCES CParams (id)
)
''')
cursor.execute('''
CREATE TABLE IF NOT EXISTS CParams_Val (
cparams_id INTEGER,
val_id INTEGER,
PRIMARY KEY (cparams_id, val_id),
FOREIGN KEY (cparams_id) REFERENCES CParams (id),
FOREIGN KEY (val_id) REFERENCES Val (id)
)
''')
conn.commit() conn.commit()
conn.close() conn.close()
log.info("База данных успешно инициализирована!") log.info("База данных успешно инициализирована!")