-
Notifications
You must be signed in to change notification settings - Fork 0
[RULE] BE-FLY-005 violations report #762
Copy link
Copy link
Open
Description
왜 이 이슈가 열렸는지
BE-FLY-005규칙과 연결된 위반 가능성을 추적하기 위해 생성된 이슈입니다.- 모드:
runtime - 레벨:
MUST - 규칙 이름: Index/unique constraint naming convention
- 담당자: @chequer-io
- 생성 시각: 2026-04-02T09:38:34.421Z
이 룰이 의미하는 것
BE-FLY-005가 기대하는 기준을 사용자 관점에서 다시 확인하기 위한 이슈입니다.- Index names use idx_{table}{columns}[suffix], unique index names use udx{table}{columns}[_suffix]. Remove internal underscores from column names (e.g. user_id -> userid)
감지 기준
- 현재 raw 탐지 15건을 10개 예시로 묶어 정리했습니다.
지금 바로 알아야 할 점
- 현재 단계에서는 사실 관계와 영향 범위를 먼저 확인해야 합니다.
backend/app/src/main/resources/db/migration/app/V1__init.sql150-155행 구간에서index "idx_party_profiles_type" must match "idx_party_profiles_partytype" (or "idx_party_profiles_partytype_<suffix>")등을 포함한 연속 위반 후보 6건이 탐지되었습니다.backend/app/src/main/resources/db/migration/app/V1__init.sql158행 구간에서index "uq_party_phone_numbers_primary" must match "udx_party_phone_numbers_partyid" (or "udx_party_phone_numbers_partyid_<suffix>")패턴이 탐지되었습니다.backend/app/src/main/resources/db/migration/app/V1__init.sql161행 구간에서index "uq_party_identifiers_primary" must match "udx_party_identifiers_partyid" (or "udx_party_identifiers_partyid_<suffix>")패턴이 탐지되었습니다.backend/app/src/main/resources/db/migration/app/V1__init.sql164행 구간에서index "uq_party_identifiers_country_type_value" must match "udx_party_identifiers_countrycode_idtype_normalizedvalue" (or "udx_party_identifiers_countrycode_idtype_normalizedvalue_<suffix>")패턴이 탐지되었습니다.backend/app/src/main/resources/db/migration/app/V1__init.sql203행 구간에서index "ux_users_party_id" must match "udx_users_partyid" (or "udx_users_partyid_<suffix>")패턴이 탐지되었습니다.- 전체 JSON/Markdown 리포트 산출물도 함께 확인할 수 있습니다.
AI가 이번 단계에서 한 일
- 이슈 본문 상단 요약과 전달용 초안을 준비했습니다.
이제 사람이 이어서 할 일
- 실제 위반 여부와 후속 대응 방향을 검토합니다.
다음 액션
- 담당 주체: 사람
- 해야 할 일: 초안 내용을 검토하고 필요한 후속 작업을 결정합니다.
- 판단 필요: 자동화 결과를 그대로 반영할지 추가 수정이 필요한지 확인합니다.
- 검증 방법: 관련 변경사항과 남은 작업을 다시 검토합니다.
주요 위반 예시
| 파일 | 줄 범위 | 핵심 스니펫 | 비고 |
|---|---|---|---|
backend/app/src/main/resources/db/migration/app/V1__init.sql |
150-155 | index "idx_party_profiles_type" must match "idx_party_profiles_partytype" (or "idx_party_profiles_partytype_") | 연속 위반 후보 6건 |
backend/app/src/main/resources/db/migration/app/V1__init.sql |
158 | index "uq_party_phone_numbers_primary" must match "udx_party_phone_numbers_partyid" (or "udx_party_phone_numbers_partyid_") | 대표 예시 1건 |
backend/app/src/main/resources/db/migration/app/V1__init.sql |
161 | index "uq_party_identifiers_primary" must match "udx_party_identifiers_partyid" (or "udx_party_identifiers_partyid_") | 대표 예시 1건 |
backend/app/src/main/resources/db/migration/app/V1__init.sql |
164 | index "uq_party_identifiers_country_type_value" must match "udx_party_identifiers_countrycode_idtype_normalizedvalue" (or "udx_party_identifiers_countrycode_idtype_normalizedvalue_") | 대표 예시 1건 |
backend/app/src/main/resources/db/migration/app/V1__init.sql |
203 | index "ux_users_party_id" must match "udx_users_partyid" (or "udx_users_partyid_") | 대표 예시 1건 |
backend/app/src/main/resources/db/migration/app/V1__init.sql |
1168 | index "idx_user_sessions_user_state_created_at" must match "idx_user_sessions_userid_sessionstate_createdat" (or "idx_user_sessions_userid_sessionstate_createdat_") | 대표 예시 1건 |
backend/app/src/main/resources/db/migration/app/V1__init.sql |
1171 | index "idx_user_sessions_state_idle_absolute" must match "idx_user_sessions_sessionstate_idleexpiresat_absoluteexpiresat" (or "idx_user_sessions_sessionstate_idleexpiresat_absoluteexpiresat_") | 대표 예시 1건 |
backend/deskpie/src/main/resources/db/migration/deskpie/V202603051200__deskpie_init.sql |
76 | index "idx_companies_party_id" must match "idx_companies_partyid" (or "idx_companies_partyid_") | 대표 예시 1건 |
backend/deskpie/src/main/resources/db/migration/deskpie/V202603051200__deskpie_init.sql |
114 | index "idx_contacts_party_id" must match "idx_contacts_partyid" (or "idx_contacts_partyid_") | 대표 예시 1건 |
backend/deskpie/src/main/resources/db/migration/deskpie/V202603051200__deskpie_init.sql |
303 | index "idx_contracting_parties_party_id" must match "idx_contracting_parties_partyid" (or "idx_contracting_parties_partyid_") | 대표 예시 1건 |
🤖 rule-report-workflow
Reactions are currently unavailable