많은 개발이 진행되는 동안 데이터베이스 스키마는 빠르고 지속적으로 변경되며, 매주 베타 빌드에 대한 푸시가 진행될 때마다 스키마가 너무 많이 변경되어 가능한 모든 테이블을 정리할 수 있습니다. dev 데이터베이스에서 새 버전을 복사하십시오. 프로덕션 데이터를 핵 공격하는 것은 재난을위한 레시피이기 때문에 출시 후에는 작동하지 않을 것입니다. 따라서 한 버전 / 개정에서 다른 버전으로 데이터베이스 스키마 변경을 관리하기 위해 어떤 전략이 있는지 궁금했습니다.
내가 찾거나 경험 한 일부 :
- 한 데이터베이스에서 다른 데이터베이스로 바로 핵 폐기 (내가 지금하고있는 것)
- 스크립트를 통해 또는 수동으로 실행되는 SQL 문으로 UPDATE.sql 파일 유지 보수
- 활성 데이터베이스에서 해당 "db-schema-version"값으로 update.php 파일 유지
세 번째 옵션은 가장 현명한 것으로 보이지만 잘못 구성된 SQL 쿼리가 스크립트 중간에 실패하여 데이터베이스를 절반 업데이트 된 상태로 유지하여 백업을 복원해야 할 가능성이 여전히 있습니다.
문제가 아닌 것처럼 보이지만 팀이 phpMyAdmin을 사용하기 때문에 발생합니다. 실행 된 SQL 문을 복사하여 update.php 파일에 붙여 넣는 것을 기억하는 것조차 나 자신에 의존 할 수 없습니다. 다른 페이지로 이동하면 SQL 문을 직접 다시 작성하거나 변경 사항을 되돌리고 다시 수행해야합니다.
기존의 개발 워크 플로에 영향을 미치지 않는 솔루션이라고 생각합니다.
update.php
또는update.sql
파일을 테스트하여 활성 데이터베이스에 적용해야합니까? 그리고 PHPMyAdmin은 스크립트와 같이 발생할 수있는 문제로 인해 비난을 받고 있습니다.