기존 레거시 기반 시스템에서 우리는 사용자 인벤토리를 업데이트합니다. 인벤토리에는 많은 다른 항목이 포함되어 있으며 사용자는 항목 ID 당 하나의 행을 가지며 각 행은 자신이 소유 한이 항목의 수량입니다.시스템 내 젖니없는 버그 MySQL
어딘가에서 다소 오래되고 거대한 코드처럼 사용자가 마이너스 수량의 항목으로 끝날 수있는 문제가 있습니다. 이것은 결코 일어나서는 안됩니다.
위로부터 문제를 접근하고 인벤토리 테이블과 상호 작용하는 각 코드를 검토하는 대신 문제를 발견하는 데 도움이되는 몇 가지보고를 시도해 볼 수 있다고 생각했습니다.
내가이 문제를 해결할 것으로 생각되는 것을 구현하기에 앞서, 내가 어떻게 접근 할 수 있는지 알아 내기 위해 지역 사회에 배포 할 것이라고 생각했습니다.
업데이트 검사를 위해 다른 테이블에 활동을 삽입하는 MySQL 규칙을 업데이트하는 것으로 시작할 수 있습니다.
, 내가 물어 봐야, 시스템은 확장 할 수있는 데이터베이스 클래스를 사용합니까? – jeroen
_how_ "legacy"및 향후 지원해야 할 기간에 따라 'UPDATE'에 음수 값을 0으로 만드는 트리거를 만들면됩니다. 즉, 장래에 그 물건을 대체 할 수있는 기회가 있다면 그 깔개 아래서 쓸어 버리십시오. –
제안 건배를위한 건배. 불행하게도 재정적 인 이유로 우리는이 레거시 코드 기반을 좀 더 오래 사용해야합니다. 그것은 mysqli 클래스를 사용하는 DB 클래스를 가지고 있으므로 너무 끔찍하지 않습니다. – David