Files
Aislo/docs/wiki/concepts/db_schema/projects.md
T
eomsangdonandClaude Opus 5 eb30b774f8 chore(docs): docs 폴더 git 추적 전환 · PLAN·OWNERS 최상위 이관
- `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>
2026-09-09 18:19:07 +09:00

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