2009-04-19 3 views
3

모든 테스트와 작업을 수행하는 로컬 서버가 있습니다. 일단 끝나면 관련 코드와 함께 db 스키마를 업로드하기 만하면됩니다. 그러나 스키마를 약간 변경하면 문제가 발생합니다. 라이브 서버에서 "alter table"쿼리를 수동으로 입력해야합니다.PHP Db 동기화

db 스키마에서 증분 변경 사항을 적용하여 새로운 스키마를 적용 할 수있는 방법이 있습니까? 아니면 수동으로 추적해야합니까?

mysqldump를 사용하는 경우 alter table 등이 아닌 최종 db의 스키마가 생성됩니다.

대단히 감사합니다.

답변

0

MySQL Workbench을 사용하면 ALTER 스크립트 (파일 -> 내보내기 -> 전달 엔지니어 SQL ALTER 스크립트)를 내보낼 수 있습니다. 먼저 기존 데이터베이스를 가져 와서 수정 내용을 적용해야합니다. 상업용 버전을 사용하면 실제 데이터베이스를 리버스 엔지니어링 할 수 있으며 커뮤니티는 대신 CREATE 스크립트를 가져옵니다 (기존 구조의 단순 덤프). 또는 DBDesigner 4으로 실제 데이터베이스를 리버스 엔지니어링 할 수 있습니다. XML 모델 파일에 모두 끝내면 가져올 수 있지만 기본 문자 집합과 같은 것을 잃을 것입니다 ...

2

새 코드와 함께 프로덕션 서버로 이동하는 델타 SQL 스크립트를 보존합니다. 버전 X에서 버전 Y 로의 응용 프로그램 변경이 "자동"되도록 모든 것을 스크립팅합니다. Some people also have undo scripts 뭔가 잘못되었을 경우.

1

개발에서 변경 한 내용을 저장하는 방법은 변경 사항을 그룹으로 테스트하여 테스트하십시오.