--- type: concept status: stable related_pages: ["[[B01_Dashboard/B01_backend]]", "[[B02_ProjRegister/B02_backend]]"] last_updated: 2026-07-12 source: raw/guidelines/db_schema.md, raw/plans/plan_workflow_state_management.md --- # DB: 프로젝트 관리 테이블 ← [[overview]] ## projects (프로젝트) | 컬럼 | 타입 | Null | Key | Default / Extra | |---|---|---|---|---| | `id` | `char(36)` | NO | PRI | 프로젝트 UUID | | `user_id` / `company_id` | `int(11)` | NO | MUL | FK→users/companies | | `name` | `varchar(255)` | NO | | 프로젝트명 | | `region` / `road_type` | `varchar(100)` | YES | | 지역 / 임도종류 | | `project_year` | `int(11)` | YES | | 사업년도 | | `estimated_length_m` | `float` | YES | | 계획 연장(m) | | `memo` | `text` | YES | | 메모 | | `status` | `varchar(50)` | YES | | `NEW` (호환용 캐시) | | `crs_epsg` | `int(11)` | YES | | `5178` (좌표계 EPSG) | | `storage_path` | `varchar(500)` | YES | | 상대경로 ➡️ [[storage_paths]] | | `created_at` / `updated_at` / `deleted_at` | `timestamp` | - | | 생성 / 수정 / soft-delete | **사용처:** [[B01_Dashboard/B01_backend|B01_Dashboard]] (목록), [[B02_ProjRegister/B02_backend|B02_ProjRegister]] (생성) ## project_versions (프로젝트 버전 스냅샷) | 컬럼 | 타입 | Null | Key | Default / Extra | |---|---|---|---|---| | `id` | `int(11)` | NO | PRI | `auto_increment` | | `project_id` | `char(36)` | NO | MUL | FK→projects.id | | `version_num` | `int(11)` | NO | | 버전 번호 | | `status` | `varchar(50)` | YES | | 버전 상태 | | `data` | `longtext` | YES | | 설계 스냅샷 JSON 데이터 | | `snapshot_at` / `created_at` | `timestamp` | NO | | 생성일시 | ## project_automations (프로젝트 자동화 정책) | 컬럼 | 타입 | Null | Key | Default / Extra | |---|---|---|---|---| | `id` | `int(11)` | NO | PRI | `auto_increment` | | `project_id` | `char(36)` | NO | MUL | FK→projects.id | | `name` | `varchar(100)` | NO | | 자동화 명칭 | | `logic_type` | `varchar(50)` | NO | | `trigger_on_stage_complete` 등 | | `config_json` | `longtext` | NO | | 설정 값 JSON | | `status` | `enum('DRAFT','ACTIVE','INACTIVE')` | NO | MUL | `DRAFT` | | `created_by` / `updated_by` | `int(11)` | - | MUL | FK→users.id | | `last_executed_at` | `datetime` | YES | | 최종 실행 일시 | **사용처:** [[B01_Dashboard/B01_backend|B01_Dashboard]] (자동화 로직 관리, USER는 조회 차단) ## project_workflow_stages (단계별 상세 상태) - 본 테이블은 워크플로우 7단계(stage 0~6)의 세부 진행도(state, params, progress_percent 등)를 관리하는 SSOT입니다. - 상세 테이블 정보 및 사용처 ➡️ [[workflow_state]]