2010-01-14 3 views
2

우리는 많은 고객들을 위해 약간 다른 인스턴스를 가진 PHP/mysql 기반 응용 프로그램을 가지고 있습니다. 또한 우리는 코드 기반으로 작업하는 개발자가 두 명 이상입니다.PHP 기반 웹 응용 프로그램에서 데이터베이스 스키마 개정 제어

이 시나리오에서 데이터베이스 스키마의 변경 사항을 관리하는 좋은 방법은 무엇입니까? DB 변경이 필요할 때 개발자가 작은 스크립트를 작성해야합니까? 아마 우리는 당신이 svn 업데이트를하고 사이트를 탐색 할 때 스크립트를 실행하고 db 스키마를 업데이트 할 수 있도록 새 스크립트를 찾으면 업데이트 스크립트를 실행하는 코드에 코드를 통합 할 수 있을지도 모릅니다.

이렇게 당신의 방법이 될 것입니다 전체 프레임 워크를>

답변

1

나의 추천을 채택 할 필요없이 볼트 할 수 PHP에서이 표준 라이브러리입니다. 각 DB 업데이트 스크립트에 업그레이드 및 롤백을위한 업그레이드 및 다운 그레이드 방법이 모두 포함되도록 할 수 있습니다. Doctrine (http://www.doctrine-project.org/)과 같은 ORM을 채택 할 수 없다면 좋은 예와 모범 사례를 위해 "마이그레이션"구현을 살펴 보는 것이 좋습니다 : http://www.doctrine-project.org/documentation/manual/1_2/en/migrations.

1

소스 제어 branching을 사용하는 방법을 배우고 싶을 수 있습니다.

메인 브랜치에 응용 프로그램의 사용자 정의되지 않은 버전을 유지할 수 있으며, 고유 한 특수 수정이 필요한 각 고객에 대해 분기를 생성 할 수 있습니다.

메인 브랜치에서 새로운 기능이나 버그 수정이 개발되면 을 원하는 분기마다 병합 할 수 있습니다.

이렇게하면 PHP 코드와 데이터베이스 스키마 파일 모두에서 변경 사항을 추적 할 수 있습니다.

관련 문제