partsdb

electronic parts inventory
git clone https://git.e1e0.net/partsdb.git
Log | Files | Refs

commit 69f8ba0cd6b0f4bfd610a2cc9e42538d1288df3f
parent df0c1ce81abc948b05d2d1c8f16ad321fa4501e9
Author: Paco Esteban <paco@e1e0.net>
Date:   Sun, 14 Mar 2021 20:34:17 +0100

reorganize base data and migration script

Diffstat:
Mbase_data.sql | 57++++++++++++++++++++++++++++++++-------------------------
Amigration.py | 52++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 84 insertions(+), 25 deletions(-)

diff --git a/base_data.sql b/base_data.sql @@ -1,38 +1,45 @@ INSERT INTO categories (id, name) VALUES (1, 'Resistors'); INSERT INTO categories (id, name) VALUES (2, 'Capacitors'); -INSERT INTO categories (id, name) VALUES (3, 'Inductors'); +INSERT INTO categories (id, name) VALUES (3, 'Inductors/Coils/Trsf'); INSERT INTO categories (id, name) VALUES (4, 'Crystalls'); INSERT INTO categories (id, name) VALUES (5, 'Diodes'); INSERT INTO categories (id, name) VALUES (6, 'LEDs'); -INSERT INTO categories (id, name) VALUES (7, 'Displays'); +INSERT INTO categories (id, name) VALUES (7, 'Optoelectronics'); INSERT INTO categories (id, name) VALUES (8, 'Connectors'); INSERT INTO categories (id, name) VALUES (9, 'Potentiometers'); INSERT INTO categories (id, name) VALUES (10, 'Encoders'); INSERT INTO categories (id, name) VALUES (11, 'Buttons'); INSERT INTO categories (id, name) VALUES (12, 'Switches'); -INSERT INTO categories (id, name) VALUES (13, 'MicroControllers'); -INSERT INTO categories (id, name) VALUES (14, 'Op-Amps'); -INSERT INTO categories (id, name) VALUES (15, 'Voltage Regulators'); -INSERT INTO categories (id, name) VALUES (16, 'Other ICs'); -INSERT INTO categories (id, name) VALUES (17, 'Motors'); +INSERT INTO categories (id, name) VALUES (13, 'Transistors'); +INSERT INTO categories (id, name) VALUES (14, 'MicroControllers'); +INSERT INTO categories (id, name) VALUES (15, 'Op-Amps'); +INSERT INTO categories (id, name) VALUES (16, 'Voltage Regulators'); +INSERT INTO categories (id, name) VALUES (17, 'Other ICs'); +INSERT INTO categories (id, name) VALUES (18, 'Motors and Fans'); +INSERT INTO categories (id, name) VALUES (19, 'Voltage References'); +INSERT INTO categories (id, name) VALUES (20, 'Relays'); +INSERT INTO categories (id, name) VALUES (21, 'Fuses'); +INSERT INTO categories (id, name) VALUES (22, 'Cables'); -- INSERT INTO categories (id, name) VALUES (); -INSERT INTO storages (id, name) VALUES (1, 'Shelf-C1'); -INSERT INTO storages (id, name) VALUES (2, 'Shelf-C2'); -INSERT INTO storages (id, name) VALUES (3, 'Shelf-C3'); -INSERT INTO storages (id, name) VALUES (4, 'Shelf-C4'); -INSERT INTO storages (id, name) VALUES (5, 'Shelf-C5'); -INSERT INTO storages (id, name) VALUES (6, 'Shelf-C6'); -INSERT INTO storages (id, name) VALUES (7, 'Kallax-C1'); -INSERT INTO storages (id, name) VALUES (8, 'Kallax-C2'); -INSERT INTO storages (id, name) VALUES (9, 'Kallax-C3'); -INSERT INTO storages (id, name) VALUES (10, 'Kallax-C4'); -INSERT INTO storages (id, name) VALUES (11, 'Kallax-C5'); -INSERT INTO storages (id, name) VALUES (12, 'Kallax-C6'); -INSERT INTO storages (id, name) VALUES (13, 'Kallax-C7'); -INSERT INTO storages (id, name) VALUES (14, 'Kallax-C8'); -INSERT INTO storages (id, name) VALUES (15, 'Kallax-D1'); -INSERT INTO storages (id, name) VALUES (16, 'Kallax-D2'); -INSERT INTO storages (id, name) VALUES (17, 'Kallax-D3'); -INSERT INTO storages (id, name) VALUES (18, 'BigDrawer'); +INSERT INTO storages (id, name) VALUES (1, 'Shelf-CTop'); +INSERT INTO storages (id, name) VALUES (2, 'Shelf-C1'); +INSERT INTO storages (id, name) VALUES (3, 'Shelf-C2'); +INSERT INTO storages (id, name) VALUES (4, 'Shelf-C3'); +INSERT INTO storages (id, name) VALUES (5, 'Shelf-C4'); +INSERT INTO storages (id, name) VALUES (6, 'Shelf-C5'); +INSERT INTO storages (id, name) VALUES (7, 'Shelf-C6'); +INSERT INTO storages (id, name) VALUES (9, 'Kallax-Top'); +INSERT INTO storages (id, name) VALUES (10, 'Kallax-D1'); +INSERT INTO storages (id, name) VALUES (11, 'Kallax-D2'); +INSERT INTO storages (id, name) VALUES (12, 'Kallax-D3'); +INSERT INTO storages (id, name) VALUES (13, 'Kallax-C1'); +INSERT INTO storages (id, name) VALUES (14, 'Kallax-C2'); +INSERT INTO storages (id, name) VALUES (15, 'Kallax-C3'); +INSERT INTO storages (id, name) VALUES (16, 'Kallax-C4'); +INSERT INTO storages (id, name) VALUES (17, 'Kallax-C5'); +INSERT INTO storages (id, name) VALUES (18, 'Kallax-C6'); +INSERT INTO storages (id, name) VALUES (19, 'Kallax-C7'); +INSERT INTO storages (id, name) VALUES (20, 'Kallax-C8'); +INSERT INTO storages (id, name) VALUES (29, 'BigDrawer'); -- INSERT INTO storages (id, name) VALUES (); diff --git a/migration.py b/migration.py @@ -0,0 +1,52 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# vim:fenc=utf-8 + +import pymysql +import pymysql.cursors + + +OUT_QUERY = """ + select p.id,p.name,p.description,p.comment,p.stockLevel,p.status,f.name as footprint + from (Part as p, Footprint as f) + inner join Footprint + on p.footprint_id = f.id + group by p.id limit 10; +""" +DOCS_QUERY = "select filename, mimetype, extension from PartAttachment where part_id = %s" +CAT_MATCH = { + 13: [10]+list(range(14, 19+1)), + 1: list(range(20,25+1))+[55], + 2: [26]+list(range(29,35+1)), + 4: [27], + 9: [28], + 3: [36], + 8: list(range(37,40+1)), + 15: [41], + 16: [42], + 17: [44], + 5: list(range(45,48+1)), + 14: [54], + 18: [53], + 19: [43], + 12: [50], + 20: [49], + 21: [51], + 7: [8], + 22: [58] +} + +db = pymysql.connect(host="localhost", user="pk", password="pk_pwd", database="pk", + cursorclass=pymysql.cursors.DictCursor) +cur = db.cursor() + +cur.execute(OUT_QUERY) + +for row in cur.fetchall(): + cur.execute(DOCS_QUERY, (row['id'],)) + # foo = [x for (x) in CAT_MATCH.items() if 14 in v] + docs = cur.fetchone() + if docs: + pass + +db.close()