erDiagram
p_users {
INTEGER id PK
VARCHAR(100) username
VARCHAR(255) password
ENUM role
BOOLEAN is_delete
DATETIME created_at
VARCHAR(100) created_by
DATETIME updated_at
VARCHAR(100) updated_by
DATETIME deleted_at
VARCHAR(100) deleted_by
}
p_company {
UUID id PK
UUID hub_id FK
VARCHAR(100) name
ENUM type
VARCHAR(255) address
BOOLEAN is_delete
DATETIME created_at
VARCHAR(100) created_by
DATETIME updated_at
VARCHAR(100) updated_by
DATETIME deleted_at
VARCHAR(100) deleted_by
}
p_slack_message {
UUID id PK
UUID user_id FK
TEXT message
DATETIME sent_at
}
p_hub {
UUID id PK
VARCHAR(30) name
VARCHAR(50) address
VARCHAR(100) latitude
VARCHAR(100) hardness
VARCHAR(20) phone_number
BOOLEAN is_delete
BOOLEAN is_public
DATETIME created_at
VARCHAR(100) created_by
DATETIME updated_at
VARCHAR(100) updated_by
DATETIME deleted_at
VARCHAR(100) deleted_by
}
p_hub_path {
UUID paths_id PK
UUID departure_id FK
UUID arrivals_id FK
TIME time_required
BOOLEAN is_delete
DATETIME created_at
VARCHAR(100) created_by
DATETIME updated_at
VARCHAR(100) updated_by
DATETIME deleted_at
VARCHAR(100) deleted_by
}
p_shipper {
UUID id PK
UUID hub_affiliation_id FK
UUID slack_id
BOOLEAN shipper_type
BOOLEAN is_delete
DATETIME created_at
VARCHAR(100) created_by
DATETIME updated_at
VARCHAR(100) updated_by
DATETIME deleted_at
VARCHAR(100) deleted_by
}
p_product {
UUID id PK
UUID company_id FK
UUID hub_id FK
VARCHAR(100) name
BOOLEAN is_delete
DATETIME created_at
VARCHAR(100) created_by
DATETIME updated_at
VARCHAR(100) updated_by
DATETIME deleted_at
VARCHAR(100) deleted_by
}
p_order_item {
UUID id PK
UUID order_id FK
UUID product_id FK
INTEGER quantity
BOOLEAN is_delete
DATETIME created_at
VARCHAR(100) created_by
DATETIME updated_at
VARCHAR(100) updated_by
DATETIME deleted_at
VARCHAR(100) deleted_by
}
p_order {
UUID id PK
VARCHAR(100) user_id FK
UUID request_company_id FK
UUID receive_company_id FK
UUID delivery_id FK
BOOLEAN is_delete
DATETIME created_at
VARCHAR(100) created_by
DATETIME updated_at
VARCHAR(100) updated_by
DATETIME deleted_at
VARCHAR(100) deleted_by
}
p_delivery {
UUID id PK
UUID order_id FK
ENUM status
UUID origin_hub_id
UUID destination_hub_id
VARCHAR(200) address
VARCHAR(200) recipient_name
VARCHAR(200) slack_id
BOOLEAN is_delete
DATETIME created_at
VARCHAR(100) created_by
DATETIME updated_at
VARCHAR(100) updated_by
DATETIME deleted_at
VARCHAR(100) deleted_by
}
p_delivery_path {
UUID id PK
UUID origin_hub_id FK
UUID destination_hub_id FK
INTEGER sequence
VARCHAR(100) estimated_distance
VARCHAR(100) estimated_duration
VARCHAR(100) actual_distance
VARCHAR(100) actual_duration
ENUM status
DATETIME created_at
VARCHAR(100) created_by
DATETIME updated_at
VARCHAR(100) updated_by
DATETIME deleted_at
VARCHAR(100) deleted_by
}
p_users ||--o{ p_order : ""
p_company ||--o{ p_product : ""
p_hub ||--o{ p_company : ""
p_hub ||--o{ p_product : ""
p_hub ||--o{ p_shipper : ""
p_hub ||--o{ p_hub_path : ""
p_order ||--o{ p_order_item : ""
p_order ||--|| p_delivery : ""
p_delivery ||--o{ p_delivery_path : ""
p_users ||--o{ p_slack_message : ""
p_product ||--o{ p_order_item : ""
p_company ||--o{ p_order : ""
p_hub ||--o{ p_delivery : ""
p_hub ||--o{ p_delivery_path : ""
https://dbdiagram.io/d/66c6cddca346f9518cc05e52