사람들은 데이터베이스 구조 업데이트 관리를 어떻게 권장합니까?SQL 구조 업데이트를 관리하는 방법
기존 테이블이 변경되고 새로운 테이블이 추가되어야하는 새로운 기능이 추가되었습니다.
좋은 소프트웨어가 있습니까? 아니면 ALTER
타입 진술을 작성한 것입니까?
사람들은 데이터베이스 구조 업데이트 관리를 어떻게 권장합니까?SQL 구조 업데이트를 관리하는 방법
기존 테이블이 변경되고 새로운 테이블이 추가되어야하는 새로운 기능이 추가되었습니다.
좋은 소프트웨어가 있습니까? 아니면 ALTER
타입 진술을 작성한 것입니까?
두 스키마 (RedGate SQL Compare) 간의 차이점을 분석하고 필요한 변경 스크립트를 생성 할 수있는 소프트웨어가 있지만 필자는 자체 데이터베이스 변경 문을 작성하는 것을 선호합니다. 그렇게하면, 나는 변화되고있는 것을 완전히 통제 할 수 있습니다. 스크립트를 실행하고 데이터베이스를 업데이트 할 수 있도록 각 데이터베이스 버전에 대한 변경 사항을 Install.sql 스크립트 또는 그와 비슷한 것으로 롤백하십시오.
이렇게하면 dev에서 테스트로 변경 사항을 쉽게 이동할 수 있습니다.
은 참조 : 당신은 모든 ALTER 문을 작성 손을 원하지 않는 경우 Deploying SQL Server Databases from Test to Live
는 SQL Server Management Studio의 물건의이 유형의 모든 처리 할 수있는 GUI를 가지고있다. GUI를 사용하여 생성 된 스크립트를보고 빠른 하이브리드 접근 방식을 원할 경우 거기에서부터 이동할 수 있습니다.
Linux 또는 Mac의 경우는 무엇입니까? 나는 기술 중립적 방법으로 질문을 시도했지만 우리의 요구 사항은 디바이스에 맥과 우분투는 데스크탑 서버와의 LAMP 스택은 –
응용 프로그램의 범위 나 개발자 수 등은 언급하지 않으므로 권장 사항을 작성하는 것이 조금 어렵습니다. 개발이 동시에 여러 프로젝트와 여러 개발자로 구성하고 생산에 개발에서 복사하는 경우, 나는 다음과 같은 일을 추천 할 것입니다 : DEV, 품질 보증, 생산 :
생산에 설치 과정을 참고 : 품질 보증은 최종 생산이 설치 기다리고 적용 변경을 제외하고, 생산과 거의 동일하다. dev에는 진행중인 작업, 추가 디버그 쓰레기 등이 포함됩니다. 정기적으로 프로덕션 백업을 qa 및 dev에 복원하여 다시 동기화 할 수 있습니다 (모든 개발자가 이에 대해 잘 알고 있는지 확인하고 그에 따라 계획하십시오). 개발자)는 (생산 대 qa) 대 시간 차이가 발생하기 시작합니다.
우리의 설정은 다음과 같습니다 테스트 서버 - 5 MySQL의 php5.2, 아파치 생산 서버 - mysql 5, php5.2, apache2 phpMyAdmin도 실행 중입니다. –
SQL Server 참조를 제거하고 질문에 "mysql"태그를 추가했습니다. 얼마나 많은 개발자가, 만약 당신이 단지 그것이 10 명이 아닌 경우. 1 년에 한 번만 표를 변경하면 매주 표 변경과 다릅니다. –
우리 팀 중 하나가 이렇게 작동하며 엉망입니다. 변경 사항이 너무 오래 걸려 중복되기 시작합니다. CVS에 각 객체를 저장하면 변경 사항이 많은 파일에 분산되어 배포 시간이 오래 걸리며 오류가 발생하기 쉽습니다. Devs는 QA가 승인 한 순간에 최종 사용자가 경험하지 못한 제품을 제공하면서 질문을 잊어 버립니다. 귀하의 마일리지가 다를 수 있습니다; 나는 그것이 당신의 장소에서 더 잘 작동하기를 바랍니다 :) – Andomar
나는 하나의 것을 추가 할 것입니다. 테이블 구조를 변경하기 위해 alter table 문을 작성하는 것만으로는 충분하지 않습니다. 테이블 구조를 변경하는 경우 다른 뷰, 함수, 테이블, 저장된 procs, 트리거, SSIS (DTS) 패키지 (SQL Server 용) 및 응용 프로그램의 동적 코드 변경 사항의 영향을받습니다. 다른 오브젝트에 영향을 줄 수 있는지 확실하지 않으면 테이블을 변경할 준비가되지 않은 것입니다. 나는 누군가가 그 구조를 사용하는 것을 고려하지 않고 테이블 구조를 변경했기 때문에 비즈니스에 중요한 기능이 너무 많이 중단되는 것을 보았습니다. 데이터베이스 구조 변경을 고려 중이라면 그렇게하기 전에 데이터베이스 리팩토링에 대해 읽어 보시기 바랍니다. 가 http://www.amazon.com/Refactoring-Databases-Evolutionary-Addison-Wesley-Signature/dp/0321293533
당신이 질문에 MySQL을 언급해야
, 그것은 필자가 직장에서 사람을 대신 물어 –