- `docs/` 를 .gitignore 에서 빼 git 추적 대상으로 전환 (위키·완료 이력·검증 기록) - `docs/raw/PLAN.md` · `docs/raw/OWNERS.md` 를 저장소 최상위로 이동 후 .gitignore 에 등록 — 창끼리 공유하되 저장소에는 안 올리는 장부 - 살아 있는 경로 참조 7개 파일 정정 (아카이브 107건은 그때 사실이라 그대로 둠) - graphify 날짜별 산출물(`docs/wiki/graphify-out/20*/`) 제외 — `graphify update` 가 다시 만듦 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
57 lines
2.7 KiB
Markdown
57 lines
2.7 KiB
Markdown
---
|
|
type: concept
|
|
status: draft
|
|
related_pages: ["[[B01_Dashboard/B01_backend]]", "[[B02_ProjRegister/B02_backend]]", "[[architecture/shared_resources]]"]
|
|
last_updated: 2026-07-12
|
|
source: raw/guidelines/db_schema.md, raw/plans/plan_workflow_state_management.md
|
|
---
|
|
|
|
# DB: 프로젝트 관리 테이블
|
|
|
|
← [[db_schema/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]]
|