Initial commit
This commit is contained in:
404
search/WatsonScheme.puml
Normal file
404
search/WatsonScheme.puml
Normal file
@@ -0,0 +1,404 @@
|
||||
@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
|
||||
Reference in New Issue
Block a user