[Refactor] 소프트웨어 자산 데이터 스키마 통합 및 백엔드/프론트엔드 최적화 완료 #15
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
[Refactor] 소프트웨어 자산 데이터 스키마 통합 및 백엔드/프론트엔드 최적화 완료
1. 개요 (Overview)
기존 시스템에 분산되어 있던 구독/영구 소프트웨어 자산 테이블 구조를 최신 통합 스키마(
asset_software_subscription,asset_software_perpetual)로 이관하고, 관련 API 엔드포인트 및 프론트엔드 데이터 처리 로직을 전면 개편하였습니다. 이를 통해 데이터 정합성과 시스템의 전반적인 안정성을 확보했습니다.2. 상세 작업 내역 (Changes)
A. 데이터베이스 & 백엔드 (Backend)
subscription_sw,permanent_sw형태의 기존 테이블을 신규asset_software_*구조로 변경.account_name) 추가 및 구매/시작/만료일 등 세부 속성 맵핑 강화.server.js):HW_SELECT_FIELDS) 해결.[]) 반환 처리로 프론트엔드 크래시 방지.[ISO-Date] METHOD URL) 도입.B. 프론트엔드 (Frontend)
src/core/state.ts):api/asset/.../batch).src/core/utils.ts):YYYY.MM.DD포맷 외에YYYYMM(6자리) 포맷 데이터도 정상 파싱하도록 로직(normalizeDate) 보완.SwDashboard.ts,SwListView.ts):asset_software_assignment)를 기반으로 현재 할당된 총 수량 및 잔여(가용) 라이선스 수량 계산 로직 전면 수정.C. 환경 정리 (Cleanup)
check_db.js,diagnose_*.js,migrate_sw_data.js등).docs/issues/...) 제거 완료.3. 검증 (Verification)
🚀 DB V3 정규화 및 UI 동적 렌더링 고도화 완료 보고
1. DB 스키마 정규화 (V3 구조 적용)
asset_pc,asset_server등)을 데이터 성격에 따라 5개의 통합 테이블로 완전 분리했습니다.asset_core: 공통 자산 식별 정보 및 현 용도(current_role) 관리asset_spec: 하드웨어 물리적 제원(CPU, RAM, GPU 등) 관리asset_volume: 스토리지 정보를 1:N 구조로 분리 (문자열에서 숫자형 용량+단위로 정규화, 602건 마이그레이션)asset_location: 위치 변동 이력 보존 (is_active플래그 사용)asset_network: IP 및 원격 접속 정보 분리 및 이력 보존 (is_active플래그 사용)2. 백엔드(API) 최적화
/api/assets/master단일 엔드포인트로 통합하여 로딩 성능을 극대화했습니다.ONLY_FULL_GROUP_BYSQL 제약조건 충돌 에러를 상관 서브쿼리(Correlated Subquery)로 해결하여 서버 안정성을 확보했습니다.save) 및 삭제(delete) 시 정규화된 테이블 전반에 걸쳐 데이터가 안전하게 트랜잭션/Cascade 처리되도록 수정했습니다.3. 프론트엔드 UI 동적 렌더링 적용 (
HWModal)is_active=0상태로 영구 보존되어 언제든 추적이 가능합니다.4. 레거시 데이터 정리