Files
plantUML/search/WatsonScheme.puml
2024-04-08 19:15:50 +03:00

405 lines
9.2 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@startuml
frame AS_IS_ALL_SCHEME {
skinparam linetype ortho
scale 2500*1700
entity "search_availability_flag_{guid_office}" as availability {
* id : int auto_increment "PK"
--
*product : char(36)
*is_availability : tinyint(1)
*create_at : timestamp
*update_at : timestamp
--
unique (product)
}
entity "search_remaining_{guid_office}" as remaining {
* id: int auto_increment "PK"
--
*product: char(36)
*remaining: int
*create_at: timestamp
*update_at: timestamp
--
unique (product)
}
entity "search_check" as search_check {
*id: int auto_increment "PK"
--
*locality: char(36)
*product: char(36)
*update_at: timestamp
--
unique(locality, product)
}
entity "search_localities_offices" as localities_offices {
*id: int auto_increment "PK"
--
*locality_guid: char(36)
*office_guid: char(36)
*is_active: tinyint(1)
--
unique (office_guid)
}
entity "search_countries" as countries {
*id: int auto_increment "PK"
--
*code varchar(3)
*name: varchar(256)
*full_name: varchar(256)
*alpha_2: varchar(2)
*alpha_3: varchar(3)
--
unique (code)
}
entity "search_prices_types_localities" as prices_types_localities {
*id: int auto_increment "PK"
--
*hash: char(40)
*locality_guid: char(36)
*price_type_guid: char(36)
*type: varchar(128)
--
unique (hash)
}
entity "search_prices_types_products" as prices_types_products {
*id: int auto_increment "PK"
--
*hash: char(40)
*product_guid: char(36)
*price_type_guid: char(36)
*price: decimal(10, 2)
*updated_at: timestamp
--
unique (hash)
}
entity "search_products_relevancy_counts" as products_relevancy_counts {
*id: bigint: auto_increment "PK"
--
*product_guid: char(36)
*orders: int(11)
*views: int(11)
*reviews: int(11)
*updated_at: timestamp
--
unique (product_guid)
}
entity "search_products_relevancy_data_items" as relevancy_data_items {
*id: bigint: auto_increment "PK"
--
*hash: char(40)
*product_guid: char(36)
*manufacter_guid: char(36)
*seo_position: int
*koef_sort: float
*updated_at: timestamp
--
unique (hash)
}
entity "search_products_sort_rating" as products_sort_rating {
*id: bigint: auto_increment "PK"
--
*product_guid: char(36)
*rating: float
*updated_at: timestamp
--
unique (product_guid)
}
entity "search_manufacturers_settings" as manufacturers_settings {
*id: int auto_increment "PK"
--
*manufacturer_guid: char(36)
*locality_guid: char(36)
*is_hide: tinyint(1)
*updated_at: timestamp
*created_at: timestamp
--
unique (manufacturer_guid, locality_guid)
}
entity "search_manufacturers" as manufacturers {
*id: int auto_increment "PK"
--
*guid: char(36)
*name: varchar(256)
*is_our: tinyint(1)
*description: varchar(256)
*updated_at: timestamp
--
unique (guid)
}
entity "search_products" as products {
*id: int auto_increment "PK"
--
*is_consumable: tinyint(1)
*is_on_site: tinyint(1)
*is_visible: tinyint(1)
*status: smallint
*is_discountinued: tinyint(1)
*is_for_order: tinyint(1)
*sku: int
*height: float
*lenght: float
*width: float
*guid: char(36)
*manufacter_guid: char(36)
*name_site: varchar(256)
*category: char(36)
*name_pdm: varchar(256)
*name_wtis: varchar(256)
*name_contractor: varchar(256)
*keywords: varchar(256)
*lights: varchar(20)
*country_code: varchar(3)
*uri: text
*advantages: text
*description: text
*equipment: text
*features: text
*updated_at: timestamp
--
unique (guid)
}
entity "search_products_categories" as products_categories {
*id: int auto_increment "PK"
--
*hash: char(40)
*product_guid: char(36)
*category_guid: char(36)
*is_enabled: tinyint(1)
*updated_at: timestamp
--
unique (hash)
}
entity "search_categories_settings" as categories_settings {
*id: int auto_increment "PK"
--
*category_guid: char(36)
*locality_guid: char(36)
*is_hide: tinyint(1)
*updated_at: timestamp
*created_at: timestamp
--
unique (category_guid, locality_guid)
}
entity "search_categories_relationship" as categories_relationship {
*id: int auto_increment "PK"
--
*parent: char(36)
*child: char(36)
*main: tinyint(1)
*level: int
*line: int
*created_at: timestamp
}
entity "search_categories" as categories {
*id: int auto_increment "PK"
--
*guid: char(36)
name: varchar(256)
type: varchar(256)
parent_guid: char(36)
is_active: tinyint(1)
is_enable: tinyint(1)
up_caption: varchar(256)
updated_at: timestamp
--
unique (guid)
}
entity "search_products_sale" as product_sale {
*id: bigint: auto_increment "PK"
--
*hash: char(40)
*guid: char(36)
*product_guid: char(36)
*locality_guid: char(36)
remaining: int
price: float
updated_at: timestamp
--
unique (hash)
}
entity "search_promotions" as promotions {
*id: int: auto_increment "PK"
--
*product_guid: char(36)
*locality_guid char(36)
*name: varchar(256)
*updated_at: timestamp
}
entity "search_specifications_bool" as specifications_bool {
*id: int auto_increment "PK"
--
*hash: char(40)
*product_guid: char(36)
*guid: char(36)
*name: varchar(256)
*unit: varchar(256)
*description: text
*value: tinyint(1)
*updated_at: timestamp
--
unique (hash)
}
entity "search_specifications_collection" as specifications_collection {
*id: int auto_increment "PK"
--
*hash: char(40)
*product_guid: char(36)
*guid: char(36)
*name: varchar(256)
*unit: varchar(256)
*description: text
*value: varchar(256)
*value_guid: char(36)
*updated_at: timestamp
--
unique (hash)
}
entity "search_specifications_float" as specifications_float {
*id: int auto_increment "PK"
--
*hash: char(40)
*product_guid: char(36)
*guid: char(36)
*name: varchar(256)
*unit: varchar(256)
*description: text
*value: float
*updated_at: timestamp
--
unique (hash)
}
entity "search_specifications_int" as specifications_int {
*id: int auto_increment "PK"
--
*hash: char(40)
*product_guid: char(36)
*guid: char(36)
*name: varchar(256)
*unit: varchar(256)
*description: text
*value: int
*updated_at: timestamp
--
unique (hash)
}
entity "search_specifications_range" as specifications_range {
*id: int auto_increment "PK"
--
*hash: char(40)
*product_guid: char(36)
*guid: char(36)
*name: varchar(256)
*unit: varchar(256)
*description: text
*value_gte: float
*value_lte: float
*updated_at: timestamp
--
unique (hash)
}
entity "search_specifications_text" as specifications_text {
*id: int auto_increment "PK"
--
*hash: char(40)
*product_guid: char(36)
*guid: char(36)
*name: varchar(256)
*unit: varchar(256)
*description: text
*value: varchar(256)
*updated_at: timestamp
--
unique (hash)
}
entity "search_locality" as locality {
*id: mediumint(9) auto_increment "PK"
--
*name: char(50)
*english_name: varchar(255)
*areg_id: char(36)
*is_enabled: tinyint(1)
}
entity "search_dates_sync" as dates_sync {
*id: int auto_increment "PK"
--
*is_successful tinyint(1)
*'system': text
*message: text
*date: datetime
}
'Связи
products -d----> specifications_bool
specifications_bool -r-> specifications_range
specifications_bool -r-> specifications_text
specifications_bool -r-> specifications_collection
specifications_bool -r-> specifications_int
specifications_bool -r-> specifications_float
'products -d---> specifications_range
'products -d---> specifications_text
'products -d---> specifications_collection
'products -d---> specifications_int
'products -d---> specifications_float
note left of specifications_bool: Все таблицы с тх связаны с \nтаблицей товаров по product_guid
products -l--> manufacturers
manufacturers -l-> manufacturers_settings
prices_types_localities -> localities_offices
prices_types_products -> prices_types_localities
products -d--> promotions
products -d--> availability
products -d--> search_check
products --> remaining
products -r--> relevancy_data_items
product_sale -> localities_offices
promotions -> localities_offices
products -l--> prices_types_products
products -u-> categories
products -> products_relevancy_counts
products -> product_sale
products -> products_sort_rating
categories -> categories_relationship
categories -> categories_settings
products_categories -> products
products_categories -> categories
}
@enduml