61 lines
2.3 KiB
Python
61 lines
2.3 KiB
Python
import sqlite3
|
|
import os
|
|
|
|
db_path = 'build/Desktop_Qt_5_15_2_MSVC2019_64bit-Debug/components.db'
|
|
|
|
if os.path.exists(db_path):
|
|
conn = sqlite3.connect(db_path)
|
|
cursor = conn.cursor()
|
|
|
|
# Проверяем варианты
|
|
cursor.execute("SELECT id, name FROM variants")
|
|
variants = cursor.fetchall()
|
|
print("Variants:")
|
|
for variant in variants:
|
|
print(f" ID: {variant[0]}, Name: {variant[1]}")
|
|
|
|
# Проверяем вариативные свойства
|
|
cursor.execute("SELECT COUNT(*) FROM variant_properties")
|
|
variant_props_count = cursor.fetchone()[0]
|
|
print(f"\nVariant properties count: {variant_props_count}")
|
|
|
|
if variant_props_count > 0:
|
|
# Показываем несколько примеров вариативных свойств
|
|
cursor.execute("""
|
|
SELECT vp.component_id, c.designator, v.name, vp.property_name, vp.property_value
|
|
FROM variant_properties vp
|
|
JOIN components c ON vp.component_id = c.id
|
|
JOIN variants v ON vp.variant_id = v.id
|
|
LIMIT 10
|
|
""")
|
|
variant_props = cursor.fetchall()
|
|
print("\nVariant properties examples:")
|
|
for prop in variant_props:
|
|
print(f" Component {prop[1]} (ID: {prop[0]}) in variant '{prop[2]}': {prop[3]} = {prop[4]}")
|
|
|
|
# Проверяем компоненты для каждого варианта
|
|
for variant in variants:
|
|
variant_id, variant_name = variant
|
|
cursor.execute("""
|
|
SELECT COUNT(*) FROM component_variants
|
|
WHERE variant_id = ?
|
|
""", (variant_id,))
|
|
component_count = cursor.fetchone()[0]
|
|
print(f"\nVariant '{variant_name}' has {component_count} components")
|
|
|
|
if component_count > 0:
|
|
cursor.execute("""
|
|
SELECT c.designator, cv.is_fitted
|
|
FROM component_variants cv
|
|
JOIN components c ON cv.component_id = c.id
|
|
WHERE cv.variant_id = ?
|
|
LIMIT 5
|
|
""", (variant_id,))
|
|
components = cursor.fetchall()
|
|
print(" Sample components:")
|
|
for comp in components:
|
|
print(f" {comp[0]} (fitted: {comp[1]})")
|
|
|
|
conn.close()
|
|
else:
|
|
print("Database file not found!") |