| name | innojini-huni-db-schema |
| description | HuniPrinting Widget Builder DB 스키마 참조 스킬. 20개 테이블 구조, 핵심 설계 원칙 (huni_code, ECA 제약, MES 매핑 조건), SPEC 대 테이블 매핑을 포함. DB 설계 검증, 스키마 구현, 마이그레이션 작성 시 사용. Use when designing or validating HuniPrinting DB schema, writing Drizzle migrations, or referencing existing table structures.
|
| license | Apache-2.0 |
| compatibility | Designed for Claude Code - widget.creator project |
| user-invocable | false |
| metadata | {"version":"1.0.0","category":"domain","status":"active","updated":"2026-02-27","tags":"huni, db, schema, drizzle, postgresql, ECA, recipe, constraint, widget-builder","related-skills":"innojini-wowpress, innojini-printing-foundation, innojini-huni-printing-estimator"} |
| progressive_disclosure | {"enabled":true,"level1_tokens":130,"level2_tokens":3500} |
| triggers | {"keywords":["DB 스키마","스키마 설계","recipe_constraints","element_types","huni_code","ECA","제약조건 설계","DB 검증","테이블 구조","schema","drizzle","pgTable","migration","wb_products","recipe","option binding","MES 매핑","wbProducts","recipeConstraints"],"agents":["expert-backend","manager-spec","team-backend-dev","team-architect"],"phases":["plan","run"]} |
HuniPrinting Widget Builder DB 스키마
패키지 위치: packages/db/src/schema/widget/
테이블 레이어 구조
Layer 1: 기본 옵션 정의
01-element-types.ts → wb_option_element_types (옵션 타입 정의)
02-element-choices.ts → wb_option_element_choices (옵션 선택지)
02-product-categories.ts → wb_product_categories (상품 카테고리)
02-products.ts → wb_products (상품 마스터)
Layer 2: 레시피 (상품+옵션 조합)
02-product-recipes.ts → wb_product_recipes (레시피)
02-recipe-option-bindings.ts → wb_recipe_option_bindings (레시피-옵션 연결)
02-recipe-choice-restrictions.ts → wb_recipe_choice_restrictions (선택 제한)
Layer 3: 제약 조건 + 부자재
03-recipe-constraints.ts → wb_recipe_constraints (ECA 제약 규칙)
03-constraint-nl-history.ts → wb_constraint_nl_history (NL 입력 이력)
03-constraint-templates.ts → wb_constraint_templates (제약 템플릿)
03-addon-groups.ts → wb_addon_groups (부자재 그룹)
03-addon-group-items.ts → wb_addon_group_items (부자재 항목)
Layer 4: 가격
04-print-cost-base.ts → wb_print_cost_base (기본 인쇄비)
04-postprocess-cost.ts → wb_postprocess_cost (후가공 비용)
04-product-price-configs.ts → wb_product_price_configs (상품 가격 설정)
04-qty-discount.ts → wb_qty_discount (수량 할인)
Layer 5: 발행/시뮬레이션
05-publish-history.ts → wb_publish_history (배포 이력)
05-simulation-runs.ts → wb_simulation_runs (시뮬레이션 실행)
Layer 6: 주문
06-orders.ts → wb_orders (주문)
핵심 테이블 상세
wb_products (상품 마스터)
{
id: serial PK,
mesItemCd: varchar(20) UNIQUE,
edicusCode: varchar(20) UNIQUE,
edicusPsCode: varchar(50),
shopbyProductNo: varchar(50) UNIQUE,
productKey: varchar() ,
: () ,
: (),
: → wb_product_categories,
: (),
isPremium, hasEditor, : ,
: jsonb,
}