pierwsza wersja db scheme
This commit is contained in:
118
db_schema
Normal file
118
db_schema
Normal file
@@ -0,0 +1,118 @@
|
||||
// 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]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user