37 lines
2.1 KiB
Markdown
37 lines
2.1 KiB
Markdown
---
|
|
type: concept
|
|
status: stable
|
|
related_pages: ["[[architecture/shared_resources]]", "[[storage_paths]]", "[[workflow_state]]"]
|
|
last_updated: 2026-09-09
|
|
source: ["docs/raw/verification/2026-09-09d_OWNERS_이력.md"]
|
|
---
|
|
|
|
# 다중 환경 저장소·공용 DB 안전
|
|
|
|
## 확인된 위험
|
|
|
|
- 저장소 전체가 Synology로 PC 사이에 동기화되어 커밋 전 파일도 시간차를 두고 전달된다. 등록 파일만 먼저 도착하면 `ModuleNotFoundError` 같은 반쪽 상태가 생길 수 있다.
|
|
- 네 환경이 원격 DB 한 벌을 사용하므로 다른 창의 저장·확정·노선 확인이 같은 프로젝트의 종횡단·수량 결과를 바꿀 수 있다.
|
|
- `[저장]`과 `[확정]`은 전 측점을 현재 서버 코드로 다시 계산한다. 노선 `[확인]`은 배수유역부터 전체 재설계 체인을 실행한다.
|
|
- 저장된 정본 수치는 입력 자료뿐 아니라 계산 당시 코드 버전에도 매인다.
|
|
|
|
## 운영 규칙
|
|
|
|
1. 신규 공용 파일을 먼저 동기화·push한 뒤 그 파일을 부르는 등록 줄을 반영한다.
|
|
2. 자동 커밋 전에 `git status`로 다른 환경의 편집이 섞였는지 확인한다.
|
|
3. 반쪽 상태에서는 먼저 원격 동기화 상태를 확인하고, 남의 변경은 지우지 않는다.
|
|
4. 환경마다 별도 검증 프로젝트를 사용하고 다른 환경 프로젝트에서 저장·확정을 실행하지 않는다.
|
|
5. 저장·확정·노선 확인 전에 영향을 받을 작업자에게 알린다.
|
|
6. 수량 대조 전후 스냅숏에는 자료 시각과 `/api/health`의 `code_mtime`을 함께 기록한다.
|
|
7. `tmp/`는 PC 사이 동기화를 보장하지 않으므로 검증 도구 존재 여부를 환경별로 확인한다.
|
|
|
|
## 재계산 영향
|
|
|
|
| 조작 | 영향 |
|
|
|---|---|
|
|
| 노선 확인 | 배수유역·관·종횡단·유토를 포함한 전체 재설계 |
|
|
| 저장·확정 | 전 측점 재계산 후 정본 기록 |
|
|
| 개발용 다음 단계 이동 | workflow 상태만 변경, 계산 없음 |
|
|
|
|
구체적인 환경별 프로젝트 ID와 과거 사고 시점은 변동 가능한 운영 기록이므로 source 원문과 현재 `OWNERS.md` 장부를 함께 확인한다.
|