163 lines
8.4 KiB
Markdown
163 lines
8.4 KiB
Markdown
# Pipeline: XML SQL 포맷팅 2차 (미완료분 + 파일명 변경)
|
|
|
|
## config
|
|
- max_retries: 3
|
|
- parallel: true
|
|
- timeout: 30m
|
|
- design_first: false
|
|
- model: sonnet
|
|
- max_concurrent: 5
|
|
|
|
## tasks
|
|
|
|
### task-1: Screen/Layout XML 포맷팅 (3+4 분리) [backend]
|
|
- depends: none
|
|
- done_when: SQL 전부 대문자 + 줄 띄움
|
|
- files: backend-spring/src/main/resources/mapper/ScreenManagementMapper.xml, backend-spring/src/main/resources/mapper/ScreenStandardMapper.xml, backend-spring/src/main/resources/mapper/ScreenFileMapper.xml
|
|
- test: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
|
|
- context: |
|
|
XML 내부 SQL 쿼리를 덕일 스타일로 포맷팅. 기능/로직 변경 없이 포맷만 변경.
|
|
|
|
★ 규칙 1: SQL 키워드 전부 대문자
|
|
select → SELECT, from → FROM, where → WHERE, and → AND, or → OR,
|
|
left join → LEFT JOIN, order by → ORDER BY, group by → GROUP BY,
|
|
insert into → INSERT INTO, update → UPDATE, set → SET, delete → DELETE,
|
|
values → VALUES, as → AS, on → ON, in → IN, not → NOT, null → NULL,
|
|
is → IS, like → LIKE, ilike → ILIKE, between → BETWEEN,
|
|
exists → EXISTS, case → CASE, when → WHEN, then → THEN, else → ELSE,
|
|
end → END, union all → UNION ALL, with recursive → WITH RECURSIVE,
|
|
cast → CAST, coalesce → COALESCE, count → COUNT, sum → SUM,
|
|
distinct → DISTINCT, limit → LIMIT, offset → OFFSET, asc → ASC, desc → DESC,
|
|
returning → RETURNING, now() → NOW(), upper() → UPPER(), to_char() → TO_CHAR()
|
|
|
|
★ 규칙 2: 컬럼명/테이블명/별칭 전부 대문자
|
|
screen_definitions → SCREEN_DEFINITIONS, screen_code → SCREEN_CODE,
|
|
sd → SD, company_code → COMPANY_CODE 등
|
|
|
|
★ 규칙 3: SELECT 컬럼 한 줄에 하나, 쉼표는 앞에
|
|
변경 전: SELECT sd.*, screen_code, table_name FROM screen_definitions
|
|
변경 후:
|
|
SELECT
|
|
SD.*
|
|
, SCREEN_CODE
|
|
, TABLE_NAME
|
|
FROM SCREEN_DEFINITIONS
|
|
|
|
★ 규칙 4: INSERT 컬럼/VALUES 한 줄에 하나
|
|
변경 전: INSERT INTO table (col1, col2) VALUES (#{val1}, #{val2})
|
|
변경 후:
|
|
INSERT INTO TABLE (
|
|
COL1
|
|
, COL2
|
|
) VALUES (
|
|
#{val1}
|
|
, #{val2}
|
|
)
|
|
|
|
★ 규칙 5: UPDATE SET 한 줄에 하나
|
|
변경 후:
|
|
UPDATE TABLE
|
|
SET
|
|
COL1 = #{val1}
|
|
, COL2 = #{val2}
|
|
WHERE ID = #{id}
|
|
|
|
★ 규칙 6: JOIN/WHERE/ORDER BY 절 단위 줄 구분
|
|
|
|
★ 절대 바꾸면 안 되는 것:
|
|
- #{파라미터} camelCase 유지
|
|
- test="" 안 변수명 유지
|
|
- SQL 문자열 리터럴 값 유지: 'active', '*' 등
|
|
- id, namespace, refid 값 유지
|
|
- 쿼리 로직/결과 변경 금지
|
|
|
|
### task-2: Screen/Layout XML 포맷팅 나머지 (4개) [backend]
|
|
- depends: none
|
|
- done_when: SQL 전부 대문자 + 줄 띄움
|
|
- files: backend-spring/src/main/resources/mapper/ScreenGroupMapper.xml, backend-spring/src/main/resources/mapper/ScreenEmbeddingMapper.xml, backend-spring/src/main/resources/mapper/LayoutMapper.xml, backend-spring/src/main/resources/mapper/WebTypeStandardMapper.xml
|
|
- test: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
|
|
- context: |
|
|
task-1과 동일한 포맷팅 규칙 적용.
|
|
|
|
### task-3: Finance/Tax XML 포맷팅 (4개) [backend]
|
|
- depends: none
|
|
- done_when: SQL 전부 대문자 + 줄 띄움
|
|
- files: backend-spring/src/main/resources/mapper/TaxInvoiceMapper.xml, backend-spring/src/main/resources/mapper/BomMapper.xml, backend-spring/src/main/resources/mapper/ProductionMapper.xml, backend-spring/src/main/resources/mapper/SalesReportMapper.xml
|
|
- test: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
|
|
- context: |
|
|
task-1과 동일한 포맷팅 규칙 적용.
|
|
|
|
### task-4: Finance/Report XML 포맷팅 (3개) [backend]
|
|
- depends: none
|
|
- done_when: SQL 전부 대문자 + 줄 띄움
|
|
- files: backend-spring/src/main/resources/mapper/AnalyticsReportMapper.xml, backend-spring/src/main/resources/mapper/DeliveryMapper.xml, backend-spring/src/main/resources/mapper/PackagingMapper.xml
|
|
- test: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
|
|
- context: |
|
|
task-1과 동일한 포맷팅 규칙 적용.
|
|
|
|
### task-5: Logistics XML 포맷팅 1 (7개) [backend]
|
|
- depends: none
|
|
- done_when: SQL 전부 대문자 + 줄 띄움
|
|
- files: backend-spring/src/main/resources/mapper/ShippingPlanMapper.xml, backend-spring/src/main/resources/mapper/ShippingOrderMapper.xml, backend-spring/src/main/resources/mapper/BookingMapper.xml, backend-spring/src/main/resources/mapper/DriverMapper.xml, backend-spring/src/main/resources/mapper/VehicleMapper.xml, backend-spring/src/main/resources/mapper/VehicleTripMapper.xml, backend-spring/src/main/resources/mapper/YardLayoutMapper.xml
|
|
- test: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
|
|
- context: |
|
|
task-1과 동일한 포맷팅 규칙 적용.
|
|
|
|
### task-6: Logistics XML 포맷팅 2 (7개) [backend]
|
|
- depends: none
|
|
- done_when: SQL 전부 대문자 + 줄 띄움
|
|
- files: backend-spring/src/main/resources/mapper/DigitalTwinMapper.xml, backend-spring/src/main/resources/mapper/DashboardMapper.xml, backend-spring/src/main/resources/mapper/ReportMapper.xml, backend-spring/src/main/resources/mapper/BarcodeLabelMapper.xml, backend-spring/src/main/resources/mapper/MapDataMapper.xml, backend-spring/src/main/resources/mapper/ExcelMappingMapper.xml, backend-spring/src/main/resources/mapper/RiskAlertMapper.xml
|
|
- test: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
|
|
- context: |
|
|
task-1과 동일한 포맷팅 규칙 적용.
|
|
|
|
### task-7: Logistics XML 포맷팅 3 (7개) [backend]
|
|
- depends: none
|
|
- done_when: SQL 전부 대문자 + 줄 띄움
|
|
- files: backend-spring/src/main/resources/mapper/PopActionMapper.xml, backend-spring/src/main/resources/mapper/PopProductionMapper.xml, backend-spring/src/main/resources/mapper/WorkHistoryMapper.xml, backend-spring/src/main/resources/mapper/MoldMapper.xml, backend-spring/src/main/resources/mapper/DesignMapper.xml, backend-spring/src/main/resources/mapper/CollectionMapper.xml, backend-spring/src/main/resources/mapper/DataMapper.xml
|
|
- test: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
|
|
- context: |
|
|
task-1과 동일한 포맷팅 규칙 적용.
|
|
|
|
### task-8: 나머지 XML 포맷팅 (9개) [backend]
|
|
- depends: none
|
|
- done_when: SQL 전부 대문자 + 줄 띄움
|
|
- files: backend-spring/src/main/resources/mapper/ApprovalMapper.xml, backend-spring/src/main/resources/mapper/AuditLogMapper.xml, backend-spring/src/main/resources/mapper/RoleMapper.xml, backend-spring/src/main/resources/mapper/DepartmentMapper.xml, backend-spring/src/main/resources/mapper/CompanyManagementMapper.xml, backend-spring/src/main/resources/mapper/SystemNoticeMapper.xml, backend-spring/src/main/resources/mapper/DataAdvancedMapper.xml, backend-spring/src/main/resources/mapper/CategoryValueCascadingMapper.xml
|
|
- test: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
|
|
- context: |
|
|
task-1과 동일한 포맷팅 규칙 적용.
|
|
|
|
### task-9: XML 파일명 변경 (96개) [backend]
|
|
- depends: task-1, task-2, task-3, task-4, task-5, task-6, task-7, task-8
|
|
- done_when: 모든 XML 파일명이 소문자 덕일 스타일
|
|
- files: backend-spring/src/main/resources/mapper/
|
|
- test: cd backend-spring && ls src/main/resources/mapper/ | grep -c "Mapper" | xargs test 0 -eq
|
|
- context: |
|
|
XML 파일명을 덕일 스타일 소문자로 변경.
|
|
|
|
AdminMapper.xml → admin.xml
|
|
TodoMapper.xml → todo.xml
|
|
CommonMapper.xml → common.xml
|
|
AuthMapper.xml → auth.xml
|
|
DataAdvancedMapper.xml → dataAdvanced.xml
|
|
TableCategoryValueMapper.xml → tableCategoryValue.xml
|
|
ScreenManagementMapper.xml → screenManagement.xml
|
|
AiAssistantProxyMapper.xml → aiAssistantProxy.xml
|
|
AnalyticsReportMapper.xml → analyticsReport.xml
|
|
... (96개 전부 동일 규칙: PascalCase에서 "Mapper" 제거 후 camelCase)
|
|
|
|
application.yml의 mapper-locations는 classpath:mapper/*.xml 이므로
|
|
파일명만 바꿔도 자동 인식.
|
|
|
|
★ git mv를 사용하여 이력 보존할 것.
|
|
★ 파일 내부는 건드리지 말 것 (이미 포맷팅 완료).
|
|
|
|
### task-10: 전체 빌드 검증 [backend]
|
|
- depends: task-9
|
|
- done_when: bootJar 성공
|
|
- files: backend-spring/build.gradle
|
|
- test: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
|
|
- verify: cd backend-spring && ./gradlew bootJar 2>&1 | tail -20
|
|
- context: |
|
|
XML 포맷팅 + 파일명 변경 후 bootJar 빌드 통과 확인.
|