문제

내가 찾는 것은 일반적인 솔루션을 업그레이드를 위한 데이터베이스의 스키마와 ORM 도구,다음과 같 JPOX 또는 최대 절전 모드.당신은 그것을 어떻게 프로젝트에서?

첫 솔루션 내 마음에 오를 만들어 내 자신의 메커니즘을 업그레이드를 위한 데이터베이스,SQL 스크립트는 일이 모든 작업을 수행합니다.그러나 이 경우에는 것을 기억해야에 대한 새로 만드는 스크립트의 모든 시간에 객체 매핑을 업데이트됩니다.을 처리하는 낮은 수준에 SQL 쿼리를 대신 정의 매핑을 수 있도록 ORM 도구하는 모든 일을...

그래서 질문을 수행하는 방법입니다.어쩌면 몇 가지 도구를 허용을 간소화하고 이 작업(예를 들어,듣는 레일 이러한 메커니즘에 내장),그렇다면 날 도와주세요 결정 ORM 도구를 선택한 다음 Java 프로젝트입니다.

도움이 되었습니까?

해결책

LiquiBase 흥미로운 오픈 소스 라이브러리를 처리하는 데이터베이스 리팩토링(업그레이드).나는 사용되지 않지만,그것은 확실히 그것을 시도해에서 다음 프로젝트는 곳에 나를 업그레이드하는 데 필요한 db 스키마.

다른 팁

모 ORM 스키마 생성되는 모든 다른 다른 DB 스키마-는 문제 같습니다.가정 ORM 것입니다 뱉는 차세대 스크립트를 사용할 수 있습니다 외부 도구를 할 diff

나는 그것을 시도하지 않지만 구글로 돌아왔 SQLCompare 하나의 옵션으로-나는 확실히 다른 사람이 있습니다.

우리는 손으로 코드 SQL 업데이트 스크립트를 우리는 아래로 찢어의 스키마와 그것을 다시 업데이트를 적용하는 스크립트의 일부분으로 우리의 지속적인 프로세스를 구축 합니다.어떤 경우 최대 절전 모드 매핑과 일치하지 않는 스키마에,빌드가 실패합니다.

DbMaintain 도울 수 있습니다 여기에.

당신은 이것을 확인하실 수 있습니다 기능 비교 의 일부를 데이터베이스에 스키마 업그레이드 도구입니다.

의 비교수의 질문에 뿌리는 사람들의 일부는 도구:

  • mybatis (1049 질문에 태그가)
  • Liquibase (663 질문에 태그가)
  • (400 질문에 태그가)
  • DBDeploy (24 질문에 태그가).

난 당신의 최선의 방법은 사용하는 ORM-도구를 포함하는 데이터베이스처럼 마이그레이션 아음속:

http://subsonicproject.com/2-1-pakala/subsonic-using-migrations/

결국 우리를 만드는 업데이트 스크립트를 각각의 시간을 우리는 변경된 데이터베이스입니다.그래서 거기에서 스크립트 10 버전 11,11~12,등등....그런 다음 우리는 실행할 수 있는 연속정의 스크립트를 건너뛰기에서 일부는 기존 버전을 새로운 버전입니다.우리가 저장되어 기존 버전에서 데이터베이스 그래서 우리는 감지할 수 있는 이에 따라 시작을 시작합니다.

네이 참여 데이터베이스 특정 코드!하나의 주요 문제는 최대 절전 모드!

작업할 때는 최대 절전 모드를 사용 설치 프로그램 실행되는 클래스에서는 명령줄 선택권을 만들기 위한 데이터베이스에 스키마를 삽입하는 기초 데이터를 동적으로 업데이트를 데이터베이스를 사용하여 스키마에 SchemaUpdate.내가 찾는 것은 매우 유용합니다.그것은 또한 나에게를 넣어 하는 스크립트를 실행됩니다면 새로운 버전을 출시하여,예를 들어,채우고 새로운 분야에서 기존 DB 테이블.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top