Skip to content

[RULE] BE-FLY-005 violations report #1276

@github-actions

Description

@github-actions

왜 이 이슈가 열렸는지

  • BE-FLY-005 규칙과 연결된 위반 가능성을 추적하기 위해 생성된 이슈입니다.
  • 모드: runtime
  • 레벨: MUST
  • 규칙 이름: Index/unique constraint naming convention
  • 담당자: @chequer-io
  • 생성 시각: 2026-04-27T18:40:44.698Z

이 룰이 의미하는 것

  • 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). If the canonical name exceeds PostgreSQL's 63-byte identifier limit, truncate the canonical base to fit and append an 8-char stable hash suffix.

감지 기준

  • 현재 raw 탐지 5건을 4개 예시로 묶어 정리했습니다.

지금 바로 알아야 할 점

  • 현재 단계에서는 사실 관계와 영향 범위를 먼저 확인해야 합니다.
  • backend/app/src/main/resources/db/migration/app/V1__init.sql 1340행 구간에서 index "uq_user_invites_pending_email" must match "udx_user_invites_LOWER" (or "udx_user_invites_LOWER_<suffix>") 패턴이 탐지되었습니다.
  • backend/app/src/main/resources/db/migration/app/V1__init.sql 1368-1369행 구간에서 index "idx_user_invite_targets_invite_id" must match "idx_user_invite_targets_inviteid" (or "idx_user_invite_targets_inviteid_<suffix>") 등을 포함한 연속 위반 후보 2건이 탐지되었습니다.
  • backend/app/src/main/resources/db/migration/app/V1__init.sql 1371행 구간에서 index "uq_user_invite_targets_pending_target" must match "udx_user_invite_targets_inviteid_targettype_targetresourceid" (or "udx_user_invite_targets_inviteid_targettype_targetresourceid_<suffix>") 패턴이 탐지되었습니다.
  • backend/linkpie/src/main/resources/db/migration/linkpie/V202602251200__linkpie_init.sql 58행 구간에서 index "idx_calendar_account_calendars_accountid_hidden_primary_default_createdat" must match "idx_calendar_account_calendars_calendaraccountid_visib_b8e81a1c" (or "idx_calendar_account_calendars_calendaraccountid_visib_b 패턴이 탐지되었습니다.
  • 전체 JSON/Markdown 리포트 산출물도 함께 확인할 수 있습니다.

AI가 이번 단계에서 한 일

  • 이슈 본문 상단 요약과 전달용 초안을 준비했습니다.

이제 사람이 이어서 할 일

  • 실제 위반 여부와 후속 대응 방향을 검토합니다.

다음 액션

  • 담당 주체: 사람
  • 해야 할 일: 초안 내용을 검토하고 필요한 후속 작업을 결정합니다.
  • 판단 필요: 자동화 결과를 그대로 반영할지 추가 수정이 필요한지 확인합니다.
  • 검증 방법: 관련 변경사항과 남은 작업을 다시 검토합니다.

주요 위반 예시

파일 줄 범위 핵심 스니펫 비고
backend/app/src/main/resources/db/migration/app/V1__init.sql 1340 index "uq_user_invites_pending_email" must match "udx_user_invites_LOWER" (or "udx_user_invites_LOWER_") 대표 예시 1건
backend/app/src/main/resources/db/migration/app/V1__init.sql 1368-1369 index "idx_user_invite_targets_invite_id" must match "idx_user_invite_targets_inviteid" (or "idx_user_invite_targets_inviteid_") 연속 위반 후보 2건
backend/app/src/main/resources/db/migration/app/V1__init.sql 1371 index "uq_user_invite_targets_pending_target" must match "udx_user_invite_targets_inviteid_targettype_targetresourceid" (or "udx_user_invite_targets_inviteid_targettype_targetresourceid_") 대표 예시 1건
backend/linkpie/src/main/resources/db/migration/linkpie/V202602251200__linkpie_init.sql 58 index "idx_calendar_account_calendars_accountid_hidden_primary_default_createdat" must match "idx_calendar_account_calendars_calendaraccountid_visib_b8e81a1c" (or "idx_calendar_account_calendars_calendaraccountid_visib_b 대표 예시 1건

🤖 rule-report-workflow

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Backlog

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions