// Use DBML to define your database structure // Docs: https://dbml.dbdiagram.io/docs Table models { id int [pk] name varchar [not null, unique] strings int [not null, default: 6, note: "ilosc strun"] scale int [not null, default: 645, note: "menzura w mm"] } Table colors { id int [pk] name varchar [not null, unique] burst bool [not null, default: false, note: "czy ma cien"] monolith bool [not null, default: false, note: "czy nie jest transparetny"] } Enum finish_type { GLOSS SATIN MAT NITRO } Table products { id int [pk] order_code varchar [not null, unique, note: "pelny nr zamowinia w formie tekstowej XXXX/YYYY/ZZ"] model int [ref: > models.id, not null] color_body_top int [ref: > colors.id, not null] color_body_back int [ref: > colors.id, not null] color_neck_top int [ref: > colors.id, null, default: null] color_neck_back int [ref: > colors.id, null, default: null] finish_body_top finish_type [not null] finish_body_back finish_type [not null] finish_neck_top finish_type [null, default: null] finish_neck_back finish_type [null, default: null] note text } Table detail_products { id int [pk] product_id int [ref: - products.id, not null] spec text [note: "specyfikacja pobrana ze starego systemu w formie json"] url varchar [note: "adres url strony ze specyfikacja ze starego systemu" ] } Table clients { id int [pk] name varchar [not null, note: "Nazwa klienta"] country varchar [note: "Kraj klienta"] } Table orders { id int [pk] order_number int [not null, note: "XXXX, eg 0027"] order_year int [not null, note: "YYYY, eg 2025"] client_id int [ref: > clients.id ,not null] indexes { (order_number, order_year) [unique] } } Table order_products { id int [pk] product_id int [ref: > products.id, not null] order_id int [ref: > orders.id, not null] product_order_idx int [not null] indexes { (order_id, product_order_idx) [unique] } } Table operations { id int [pk] operation varchar [not null] description text } Enum event_type { OPERATION INFO ERROR } Enum target_type { BODY NECK } Table events { id int [pk] product_id int [ref: > products.id, not null] operation_id int [ref: > operations.id] ordinal int [not null, note: "liczba porzadkowa, wielokrotnosc 32, zeby mozna bylo dodac pomiedzy"] type event_type [not null, default: "OPERATION"] target target_type [not null, default: "BODY"] date date [not null] description text photo image } Table production_lists { id int [pk] name varchar [not null, unique] description text } Table production_list_products { id int [pk] product_id int [ref: > products.id, not null] prod_list_id int [ref: > production_lists.id, not null] indexes { (product_id, prod_list_id) [unique] } }