Files
Aislo/docs/wiki/concepts/db_schema/projects.md
T
2026-07-15 18:33:33 +09:00

57 lines
2.6 KiB
Markdown

---
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]]