세 번째 당사 플러그인에서 Data Explorer 쿼리를 신뢰할 수 있으면서도 관용적으로 추가하여, Data Explorer가 마침내 설치될 때까지 매번 재시도하면서도 빌드를 위험에 빠뜨리지 않고 우아하게 실패할 수 있는 방법은 무엇일까요?
제가 검토한 옵션들:
폴링 플러그인: 이는 편법입니다 — 쿼리는 Data Explorer 플러그인 자체에 의해 추가됩니다.
플러그인 픽스처: 이는 문제가 있는 것으로 보입니다. Data Explorer 아티팩트가 플러그인 초기화 중에 사용 가능하도록 보장되지 않기 때문입니다. 아마도 Data Explorer 플러그인 자체가 세 번째 당사 플러그인이므로 로드될 것이 보장되지 않기 때문일 것입니다. SQL을 Ruby 코드로 사용하여 테이블이 존재하는지 확인해 볼 수 있을 것 같습니다.
마이그레이션: 마이그레이션을 작성했지만, Data Explorer 플러그인이 설치되어 있지 않고 쿼리 테이블이 없는 경우 해롭지 않게 실패하되 완료되서는 안 됩니다. Data Explorer 플러그인이 설치되고 테이블이 사용 가능할 때까지 쿼리를 추가할 수 있도록 마이그레이션은 항상 재빌드 시 실행되어야 합니다. 이렇게 하면 관리자 관점에서 솔루션이 유연하고 설치 순서에 의존하지 않게 됩니다. 실패한 마이그레이션은 빌드를 위험에 빠뜨려서는 안 되는데, 빌드를 중단하지 않고 마이그레이션을 실패/연기할 수 있는 방법이 있을까요?
주기적인 예약 작업을 사용하여 Data Explorer 플러그인/쿼리 테이블과 필요한 쿼리의 존재 여부를 확인하는 것.
관리자가 수동으로 추가하도록 요청하는 것 … 별로입니다.
다음으로 2번의 SQL 버전을 시도해 볼 수도 있고, 혹은 제가 무언가를 놓치고 있는 걸까요?