ES /docs

ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column 'capture_ids' in 'field list'

Summary: ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column 'name' in 'field list'

결과#

RCA 에서 선택된 단기 개선 (1주 이내) 항목만 구현했다. EntityIndexable 의 ancestor name 조회 두 경로(runtime _ancestor_name, batch AncestorCache#preload)에 name 컬럼 존재 정적 가드를 추가하여, name 컬럼이 없는 records 조상에 대한 실패 SQL(Unknown column 'name')과 그로 인한 mysql2 APM error span 노이즈를 제거했다. Blind validation APPROVED.

Pull Requests#

Repo PR Branch
tesla https://dev.azure.com/cupix/tesla/_git/tesla/pullrequest/89599 feature/TSLA-13891

변경 내용#

  • tesla app/models/concerns/entity_indexable.rb: _ancestor_name 에서 klass.where(id:).pick(:name) 실행 전에 klass.column_names.include?('name') 가드 추가. name 컬럼이 없는 클래스(Record)면 조회 없이 nil 반환.
  • tesla lib/cupix/migrate/entity.rb: AncestorCache#preloadCACHE_ANCESTOR_FIELDS 루프에서 pluck(:id, :name) 실행 전에 동일 가드 추가. name 컬럼이 없는 조상은 preload 를 건너뜀.
  • 결과: records 조상은 두 경로 모두에서 name 조회 SQL 미발행. name 컬럼이 있는 team/workspace/building/capture/level/bim/annotation_layer 은 기존 동작 유지.

Cleanup#

bash
cd /home/ec2-user/repos/tesla
git worktree remove /home/ec2-user/error-sweeper/.worktrees/a59d1eba-2e86-4485-82d3-67a37c60a4b2/tesla