erDiagram
%% Core User & Authentication Tables
users ||--o| owner_accounts : "has"
users ||--o{ privileges : "has"
users ||--o{ batch_tasks : "creates"
users ||--o| password_resets : "has"
%% Owner Organization & Accounts
owner_organizations ||--o{ owner_accounts : "has"
owner_organizations ||--o{ user_accounts : "has"
owner_organizations ||--o{ commodity_relations : "has"
owner_organizations ||--o{ facilities : "belongs_to"
%% Owner Accounts
owner_accounts ||--o{ facilities : "manages"
owner_accounts ||--o{ places : "manages"
owner_accounts ||--o{ orders : "creates"
%% Facilities & Places
facilities ||--o{ places : "contains"
facilities ||--o{ facility_category_relations : "has"
facilities ||--o{ facility_files : "has"
%% Places
places ||--o{ place_calendar_relations : "has"
places ||--o{ place_files : "has"
places ||--o{ orders : "used_in"
places ||--o{ temporary_order_dates : "has"
%% User Accounts
user_accounts ||--o{ orders : "creates"
%% Orders
orders ||--o{ order_status : "has"
orders ||--o{ order_date_prices : "has"
orders ||--o| place_calendar_relations : "linked_to"
%% System Tables
external_api_keys ||--o{ external_api_logs : "has"
%% Table Definitions
users {
bigint id PK
varchar name
varchar email UK
varchar password
tinyint status
timestamp created_at
timestamp updated_at
}
owner_accounts {
bigint id PK
bigint user_id FK
bigint owner_owner_account_id
int owner_organization_id FK
tinyint main_flag
varchar name
varchar tel
tinyint is_test
timestamp created_at
timestamp updated_at
}
owner_organizations {
bigint id PK
varchar company_name
varchar supplier_code
varchar industry
varchar area
varchar zip
varchar prefectures
varchar section_address
int admin_account_id
timestamp created_at
timestamp updated_at
}
user_accounts {
bigint id PK
int owner_user_account_id
int owner_organization_id FK
varchar name
varchar company_name
varchar shop_name
varchar commodity
varchar email
varchar tel
tinyint status
tinyint is_test
timestamp created_at
timestamp updated_at
}
commodity_relations {
bigint id PK
int owner_organization_id FK
varchar name
tinyint status
tinyint is_test
timestamp created_at
timestamp updated_at
}
facilities {
bigint id PK
int owner_facility_id
varchar name
varchar name_kana
varchar area
varchar zip_code
varchar prefecture
varchar city
varchar address
varchar tel
int owner_account
tinyint status
tinyint is_test
timestamp created_at
timestamp updated_at
}
places {
bigint id PK
bigint facility_id FK
int owner_place_id
varchar place
varchar owner_no
varchar breadth
time start_at
time end_at
int weekday_sell_price
int saturday_sell_price
int holiday_sell_price
int owner_account
timestamp calendar_last_updated_at
tinyint status
tinyint is_test
timestamp created_at
timestamp updated_at
}
facility_category_relations {
bigint id PK
int facility_id FK
int facility_category_id
timestamp created_at
timestamp updated_at
}
facility_files {
bigint id PK
int facility_id FK
tinyint file_type
tinyint kind
varchar original_file_name
varchar file_comment
timestamp created_at
timestamp updated_at
}
place_files {
bigint id PK
int place_id FK
tinyint file_type
varchar original_file_name
varchar file_comment
timestamp created_at
timestamp updated_at
}
place_calendar_relations {
bigint id PK
int place_id FK
int order_id FK
int order_owner_id
int value
tinyint special_price_type
int special_price_sell
date regist_date
timestamp created_at
timestamp updated_at
}
orders {
bigint id PK
int owner_order_id
int owner_account_id FK
int user_account_id FK
varchar commodity
int place_id FK
varchar place
varchar prefecture
varchar city
varchar address
int total_price
int total_tax_price
date start_date
date end_date
tinyint status
tinyint is_test
timestamp created_at
timestamp updated_at
}
order_status {
bigint id PK
int order_id FK
int order_status
int reply_status
varchar remark
varchar last_update_owner_account_id
timestamp created_at
timestamp updated_at
}
order_date_prices {
bigint id PK
int order_id FK
date selected_date
tinyint selected_week
tinyint special_price_type
int basic_sell_price
int change_sell_price
timestamp created_at
timestamp updated_at
}
temporary_order_dates {
bigint id PK
int owner_place_id FK
date regist_date
}
privileges {
bigint id PK
int user_id FK
int function_key
tinyint privilege_type
timestamp created_at
timestamp updated_at
}
batch_tasks {
bigint id PK
datetime request_date
varchar function_name
tinyint operation
int user_id FK
varchar filter_data
tinyint status
timestamp created_at
timestamp updated_at
}
password_resets {
varchar email PK
varchar token
timestamp created_at
}
exception_logs {
bigint id PK
varchar host_name
varchar message
varchar trace
tinyint status
timestamp created_at
timestamp updated_at
}
external_api_keys {
bigint id PK
varchar name
varchar api_key UK
text encrypted_secret
json allowed_ips
boolean is_active
timestamp last_used_at
int usage_count
timestamp created_at
timestamp updated_at
}
external_api_logs {
bigint id PK
varchar api_key FK
varchar method
varchar endpoint
int response_status
varchar ip_address
int response_time_ms
boolean is_successful
text error_message
timestamp created_at
timestamp updated_at
}
ERD rút gọn
erDiagram
%% Core Relationships
users ||--o| owner_accounts : "has"
owner_organizations ||--o{ owner_accounts : "has"
owner_organizations ||--o{ user_accounts : "has"
owner_organizations ||--o{ facilities : "belongs_to"
facilities ||--o{ places : "contains"
places ||--o{ place_calendar_relations : "has"
places ||--o{ orders : "used_in"
owner_accounts ||--o{ orders : "creates"
user_accounts ||--o{ orders : "creates"
orders ||--o{ order_status : "has"
orders ||--o{ order_date_prices : "has"
orders ||--o| place_calendar_relations : "linked_to"
users {
bigint id PK
varchar email UK
varchar name
}
owner_organizations {
bigint id PK
varchar company_name
varchar supplier_code
}
owner_accounts {
bigint id PK
bigint user_id FK
int owner_organization_id FK
varchar name
}
user_accounts {
bigint id PK
int owner_organization_id FK
varchar name
varchar company_name
}
facilities {
bigint id PK
int owner_facility_id
varchar name
varchar prefecture
}
places {
bigint id PK
bigint facility_id FK
int owner_place_id
varchar place
int weekday_sell_price
}
place_calendar_relations {
bigint id PK
int place_id FK
int order_id FK
date regist_date
int value
}
orders {
bigint id PK
int owner_order_id
int owner_account_id FK
int user_account_id FK
int place_id FK
varchar commodity
date start_date
date end_date
}
order_status {
bigint id PK
int order_id FK
int order_status
int reply_status
}
order_date_prices {
bigint id PK
int order_id FK
date selected_date
int basic_sell_price
}