127 lines
4.1 KiB
Markdown
127 lines
4.1 KiB
Markdown
|
|
# COMPANY_11 테스트 데이터 정리 가이드
|
||
|
|
|
||
|
|
## 📋 개요
|
||
|
|
|
||
|
|
메뉴 복사 기능을 재테스트하기 위해 COMPANY_11의 복사된 데이터를 삭제하는 스크립트입니다.
|
||
|
|
|
||
|
|
## ⚠️ 중요 사항
|
||
|
|
|
||
|
|
- **보존되는 데이터**: 권한 그룹(`authority_master`, `authority_sub_user`), 사용자 정보(`user_info`)
|
||
|
|
- **삭제되는 데이터**: 메뉴, 화면, 레이아웃, 플로우, 코드
|
||
|
|
- **안전 모드**: `cleanup_company_11_for_test.sql`은 ROLLBACK으로 테스트만 가능
|
||
|
|
- **실행 모드**: `cleanup_company_11_execute.sql`은 즉시 COMMIT
|
||
|
|
|
||
|
|
## 🚀 실행 방법
|
||
|
|
|
||
|
|
### 방법 1: Docker 컨테이너에서 직접 실행 (권장)
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# 1. 테스트 실행 (롤백 - 실제 삭제 안 됨)
|
||
|
|
cd /Users/kimjuseok/ERP-node
|
||
|
|
docker exec -i erp-node-db-1 psql -U postgres -d ilshin < db/scripts/cleanup_company_11_for_test.sql
|
||
|
|
|
||
|
|
# 2. 실제 삭제 실행
|
||
|
|
docker exec -i erp-node-db-1 psql -U postgres -d ilshin < db/scripts/cleanup_company_11_execute.sql
|
||
|
|
```
|
||
|
|
|
||
|
|
### 방법 2: DBeaver 또는 pgAdmin에서 실행
|
||
|
|
|
||
|
|
1. `db/scripts/cleanup_company_11_for_test.sql` 파일 열기
|
||
|
|
2. 전체 스크립트 실행 (롤백되어 안전)
|
||
|
|
3. 결과 확인 후 `cleanup_company_11_execute.sql` 실행
|
||
|
|
|
||
|
|
### 방법 3: psql 직접 접속
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# 1. 컨테이너 접속
|
||
|
|
docker exec -it erp-node-db-1 psql -U postgres -d ilshin
|
||
|
|
|
||
|
|
# 2. SQL 복사 붙여넣기
|
||
|
|
# (cleanup_company_11_execute.sql 내용 복사)
|
||
|
|
```
|
||
|
|
|
||
|
|
## 📊 삭제 대상
|
||
|
|
|
||
|
|
| 항목 | 테이블명 | 삭제 여부 |
|
||
|
|
|------|----------|-----------|
|
||
|
|
| 메뉴 | `menu_info` | ✅ 삭제 |
|
||
|
|
| 메뉴 권한 | `rel_menu_auth` | ✅ 삭제 |
|
||
|
|
| 화면 정의 | `screen_definitions` | ✅ 삭제 |
|
||
|
|
| 화면 레이아웃 | `screen_layouts` | ✅ 삭제 |
|
||
|
|
| 화면-메뉴 할당 | `screen_menu_assignments` | ✅ 삭제 |
|
||
|
|
| 플로우 정의 | `flow_definition` | ✅ 삭제 |
|
||
|
|
| 플로우 스텝 | `flow_step` | ✅ 삭제 |
|
||
|
|
| 플로우 연결 | `flow_step_connection` | ✅ 삭제 |
|
||
|
|
| 코드 카테고리 | `code_category` | ✅ 삭제 |
|
||
|
|
| 코드 정보 | `code_info` | ✅ 삭제 |
|
||
|
|
| **권한 그룹** | `authority_master` | ❌ **보존** |
|
||
|
|
| **권한 멤버** | `authority_sub_user` | ❌ **보존** |
|
||
|
|
| **사용자** | `user_info` | ❌ **보존** |
|
||
|
|
|
||
|
|
## 🔍 삭제 순서 (외래키 제약 고려)
|
||
|
|
|
||
|
|
```
|
||
|
|
1. screen_layouts (화면 레이아웃)
|
||
|
|
2. screen_menu_assignments (화면-메뉴 할당)
|
||
|
|
3. screen_definitions (화면 정의)
|
||
|
|
4. rel_menu_auth (메뉴 권한)
|
||
|
|
5. menu_info (메뉴)
|
||
|
|
6. flow_step (플로우 스텝)
|
||
|
|
7. flow_step_connection (플로우 연결)
|
||
|
|
8. flow_definition (플로우 정의)
|
||
|
|
9. code_info (코드 정보)
|
||
|
|
10. code_category (코드 카테고리)
|
||
|
|
```
|
||
|
|
|
||
|
|
## ✅ 실행 후 확인
|
||
|
|
|
||
|
|
스크립트 실행 후 다음과 같이 표시됩니다:
|
||
|
|
|
||
|
|
```
|
||
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
|
✅ 삭제 완료!
|
||
|
|
|
||
|
|
남은 데이터:
|
||
|
|
- 메뉴: 0 개
|
||
|
|
- 화면: 0 개
|
||
|
|
- 권한 그룹: 1 개 (보존됨)
|
||
|
|
- 사용자: 1 개 (보존됨)
|
||
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
|
✨ 정리 완료! 메뉴 복사 테스트 준비됨
|
||
|
|
```
|
||
|
|
|
||
|
|
## 🧪 테스트 시나리오
|
||
|
|
|
||
|
|
1. **데이터 정리**
|
||
|
|
```bash
|
||
|
|
docker exec -i erp-node-db-1 psql -U postgres -d ilshin < db/scripts/cleanup_company_11_execute.sql
|
||
|
|
```
|
||
|
|
|
||
|
|
2. **메뉴 복사 실행**
|
||
|
|
- 프론트엔드에서 원본 메뉴 선택
|
||
|
|
- "복사" 버튼 클릭
|
||
|
|
- 대상 회사: COMPANY_11 선택
|
||
|
|
- 복사 실행
|
||
|
|
|
||
|
|
3. **복사 결과 확인**
|
||
|
|
- COMPANY_11 사용자(copy)로 로그인
|
||
|
|
- 사용자 메뉴에 복사된 메뉴 표시 확인
|
||
|
|
- 버튼 클릭 시 모달 화면 정상 열림 확인
|
||
|
|
- 플로우 기능 정상 작동 확인
|
||
|
|
|
||
|
|
## 🔄 재테스트
|
||
|
|
|
||
|
|
재테스트가 필요하면 다시 정리 스크립트를 실행하세요:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# 빠른 재테스트
|
||
|
|
docker exec -i erp-node-db-1 psql -U postgres -d ilshin < db/scripts/cleanup_company_11_execute.sql
|
||
|
|
```
|
||
|
|
|
||
|
|
## 📝 참고
|
||
|
|
|
||
|
|
- **백업**: 중요한 데이터가 있다면 먼저 백업하세요
|
||
|
|
- **권한**: 사용자 `copy`와 권한 그룹 `복사권한`은 보존됩니다
|
||
|
|
- **로그**: 백엔드 로그에서 복사 진행 상황을 실시간으로 확인할 수 있습니다
|
||
|
|
|