/
rxtress
/
SupplyAI
Обзор
Документация
Войти
/
rxtress
/
SupplyAI
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
DataBaseSQL.py
80 строк
3 KB
rxtress
Initial commit
26 фев 2025, 13:44
26 фев 2025, 13:44
86b1258
Код
Авторство
О чём код?
import sqlite3 import pandas as pd def SQLbaseConnection(): try: with sqlite3.connect('Warehouse.sqlite') as connection: cursor = connection.cursor() # создание таблицы складов cursor.execute(''' CREATE TABLE IF NOT EXISTS Warehouse ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, address TEXT ) ''') # Создание таблицы Cells с правильным типом данных для warehouse_id и добавлением внешнего ключа cursor.execute(''' CREATE TABLE IF NOT EXISTS Cells ( id INTEGER PRIMARY KEY, warehouse_id INTEGER NOT NULL, Height_Met REAL, Width_Met REAL, Length_Met REAL, Typ_Of_Sieth_HLW TEXT, StorageArea TEXT NOT NULL, BaraCodeCells TEXT, BaracodeImagePath TEXT, FOREIGN KEY (warehouse_id) REFERENCES Warehouse(id) ) ''') # Создание таблицы Product с добавлением столбца cell_id и внешнего ключа cursor.execute(''' CREATE TABLE IF NOT EXISTS Product ( id INTEGER PRIMARY KEY, NameProduct TEXT NOT NULL, BBaraCodeProduct TEXT, HeightProduct REAL, WidthProduct REAL, LengthProduct REAL, TypOfSiethHLWProduct TEXT, LocationOnWarehouse TEXT NOT NULL, Cell_id INTEGER, BaracodeImagePath TEXT, FOREIGN KEY (Cell_id) REFERENCES Cells(id) ) ''') # Создание таблицы Truck с добавлением внешнего ключа для Warehouse_id cursor.execute(''' CREATE TABLE IF NOT EXISTS Truck ( id INTEGER PRIMARY KEY AUTOINCREMENT, Name TEXT NOT NULL, Number TEXT NOT NULL, Warehouse_id INTEGER NOT NULL, Driver TEXT, Load_capacity REAL, status TEXT CHECK (status IN ('lading', 'in_transit', 'delivered')), FOREIGN KEY (Warehouse_id) REFERENCES Warehouse(id) ) ''') # Создание таблицы для городов - рассмотреть возможность добавления городов вручную cursor.execute(''' CREATE TABLE IF NOT EXISTS City ( id INTEGER PRIMARY KEY AUTOINCREMENT, CityName TEXT NOT NULL, Coordinates TEXT NOT NULL ) ''') connection.commit() print("Таблицы успешно созданы или уже существуют") except sqlite3.Error as e: print(f'Ошибка при работе с базой данных: {e}') return False finally: if connection: connection.close() return True SQLbaseConnection()