2011-09-15 2 views
1

소프트웨어 패키지의 다음 버전을 롤아웃 할 때 흔히 발생하는 문제는 일부 데이터 구조가 변경된다는 것입니다. Sql 데이터베이스를 사용할 때 적절한 일련의 변경 및 업데이트가 필요할 수 있습니다. 나는 수년에 걸쳐 이것을하는 많은 방법을 보았다. 예를 들어 RoR에는 마이그레이션이라는 개념이 있습니다. 그러나, 내가 지금까지 해 온 모든 것은 유지하기가 약간 털이 없어 보이거나 다른 결점이있다. 마법의 세계에서소프트웨어 업데이트로 MySql 테이블 정의를 업데이트하는 현대적이고 스마트 한 방법은 무엇입니까?

나는 기존의 데이터베이스 레이아웃에서 이동 자동으로 밖으로 정렬이 필요하다 등 무엇을 변경합니다, 업데이트, 무언가를 원하는 스키마 정의를 지정하고 가질 수있을 것 ...

무엇 소프트웨어 업데이트로 테이블 정의 변경 사항을 롤아웃하기위한 최신 방법론/사례/패턴이 있습니까? 어떤 종류의 MySql 관련 도구/스크립트/명령이 있습니까?

답변

2

flyway 또는 dbdeploy을 들여다 보았습니까? 이동 경로는 Java와 관련이 있지만 모든 DB, dbdeploy에서 더 많은 언어와 여러 데이터베이스를 지원합니다.

+0

위대한'dbdeploy' 외에도 나는 [liquibase] (http://www.liquibase.org) – zerkms

+0

플라이 웨이가 멋지게 보이도록 권장하고 싶지만, 요구 사항으로 메이븐을 갖는 것은 아마도 치명적인 단점이 될 수 있습니다. 그리고 .sh 스크립트가 단지 jar를 호출했기 때문에 명령 행 도구가 java 내에서 직접 사용할 수 있다고 생각합니다. 조사해야 할 것입니다. – jlarson

+0

및 dbdeploy는 Maven 및 Ant에 매우 깊이 의존하고 있습니다. – jlarson