5

우리는 현재 데이터베이스 변경 관리 프로세스를 강화하는 중입니다. 우리는 RedHat 5에서 실행되는 MySql 5를 실행합니다. 저는 오픈 소스이기 때문에 도구로 LiquiBase를 선택했으며 나중에 필요할 경우 기능을 확장 할 수 있습니다. 또한 여전히 활동중인 소수의 무료 프로젝트 중 하나 인 것으로 보입니다. LiquiBase 또는 다른 Db 버전 관리 도구를 사용한 경험이있는 사람이 있습니까?데이터베이스 변경 관리 도구?

회사 배경 : 우리는 7/24 호스트 응용 프로그램을 제공하는 SaaS 회사입니다. 동일한 데이터베이스의 서로 다른 버전을 실행하는 수십 개의 인스턴스가 있으며 제어가 불가능 해지면서 배포 프로세스를 관리 할 방법이 필요합니다. 데이터베이스에는 수백 개의 테이블이 있으며 일반적으로 3 개월에 한 번씩 릴리스를 수행합니다.

답변

1

Doctrine, PHP ORM/DBAL은 Migrations을 제공하며 원하는 것을 수행합니다.

교리 마이그레이션 패키지

은 쉽게 좋은 프로그램 인터페이스를 통해 생산을 데이터베이스를 업데이트 할 수 있습니다. 변경 사항은 방식으로 이루어 지므로 데이터베이스의 버전은 이며 은 데이터베이스 버전을 통해 전방으로 걸을 수 있습니다.

+0

Doctrine의 문제는 말 그대로 데이터베이스를 "버전 화"하는 것입니다. 그것은 분기 및 다른 상황의 과다로 인해 실제로 확장되지 않습니다. –

2

저는 LiquiBase를 시작한 이후로 편향되었을 수 있지만, 몇 년 동안 프로덕션 환경에서 사용 해왔고 릴리스가없는 악몽이었을 때가 많이있었습니다. LiquiBase는 매우 유연하고 강력하게 진화 해 왔으며, 오랜 시간 동안 (일방적으로 또는 다른 방식으로) 처리 할 수없는 상황에 처하지 않았습니다.

LiquiBase를 사용하여 작업중인 프로젝트의 마지막 코드 릴리스에는 수백 개의 데이터베이스 변경으로 인해 주요 데이터베이스 리팩터링이 포함되어 있으며 데이터베이스의 시작점이 다른 다양한 설치에 적용해야했습니다. 우리가 릴리스를했을 때, 아무런 문제없이 데이터베이스가 업데이트되었습니다.