it-source

개발 및 프로덕션 데이터베이스 동기화 방법

criticalcode 2023. 7. 30. 17:55
반응형

개발 및 프로덕션 데이터베이스 동기화 방법

두 개의 데이터베이스를 동기화하는 응용프로그램을 알고 계십니까? 개발 중에 때때로 하나 또는 두 개의 테이블 행이나 새 테이블 또는 열을 추가해야 합니다.일반적으로 모든 SQL 문을 파일에 작성하고 업로드하는 동안 운영 데이터베이스에서 해당 행을 삭제합니다(이전에 백업).SQL 및 postre로 작업합니다.SQL 데이터베이스.

이를 위해 어떤 작업 방식을 사용하고 어떤 애플리케이션을 사용하면 도움이 됩니까?

툴 또는 애플리케이션에 대한 답변을 요청했지만, 실제로 필요한 것은 프로세스 답변입니다.여기서 기본적인 주제는 데이터베이스 DDL(및 필요한 경우 DML)을 버전화해야 하며 데이터베이스의 모든 버전을 더 높은 버전으로 업데이트할 수 있도록 변경 스크립트를 제공해야 한다는 것입니다.

이 링크 세트는 Jeff Atwood가 제공하고 K가 작성했습니다.Scott Allen은 이것이 어떻게 보여야 하는지 자세히 설명합니다 - 그리고 그들은 제가 여기에 쓸 수 있는 것보다 더 잘합니다: http://www.codinghorror.com/blog/2008/02/get-your-database-under-version-control.html .

Postgre용SQL 다른 Postgre를 사용할 수 있습니다.SQL Diff Tool. 두 개의 SQL Dump를 매우 빠르게 디핑할 수 있습니다(약 300개의 테이블, 50개의 보기 및 500개의 저장 프로시저가 있는 데이터베이스에서 몇 초).따라서 변경사항을 쉽게 찾을 수 있고 실행할 수 있는 sqldiff를 얻을 수 있습니다.

APGdiff 페이지에서:

또 다른 포스트그레SQL Diff 툴은 간단한 Postgre입니다.스키마 업그레이드에 유용한 SQL diff 도구입니다.이 도구는 두 스키마 덤프 파일을 비교하고 이전 스키마의 업그레이드에 적합한 출력 파일을 만듭니다.

아래쪽에만 추가하는 스크립트(물론 소스 제어 하에)가 있어야 합니다.운영 데이터베이스에서 개발에 이르는 정기적인 복원과 결합하면 최고의 성능을 얻을 수 있습니다.만약 당신이 그것에 대해 엄격하다면, 이것은 매우 잘 작동합니다.

그렇지 않으면 많은 사람들이 SQL Server를 위해 레드게이트를 사용한다는 것을 알고 있습니다.

RedGate SQL Compare에 대한 또 다른 투표

http://www.red-gate.com/products/SQL_Compare/index.htm

그것 없이는 살고 싶지 않을 것입니다!

편집: 죄송합니다. SQL Server 전용인 것 같습니다.그래도 - SQL Server 사용자가 동일한 질문을 하는 경우 이 도구를 사용하는 것이 좋습니다.

개발 데이터베이스에 대한 SQL 문(예: CREATE, ALTER, Drop 등 일련의 DDL 지침)을 작성하는 경우 "버전" 색인이 있는 테이블에 기록하여 SQL 문을 추적하는 것은 어떻습니까?그러면 다음을 수행할 수 있습니다.

  1. 버전 변경 추적
  2. 기록된 지침을 데이터베이스로 전송하여 프로덕션 데이터베이스의 "자동" 업데이트를 허용하는 작은 루틴을 만듭니다.

저는 EMS 도구를 정말 좋아합니다.

널리 사용되는 모든 DB에 대해 도구를 사용할 수 있으며 모든 유형의 DB에 대해 동일한 사용자 환경을 제공합니다.

도구 중 하나는 DB Comparer입니다.

두꺼비

과거에 여러 번 많은 당나귀를 구했습니다.종료 전략 없이 SQL을 실행하는 이유는 무엇입니까?

레드게이트도 좋습니다.

Siebel(CRM, Sales 등 관리 제품)에는 생산 데이터베이스를 개발 데이터베이스(dev2prod)와 정렬할 수 있는 툴이 내장되어 있습니다.

그렇지 않으면 수동으로 실행되는 스크립트를 계속 사용해야 합니다.

Navicat에는 이를 처리하는 구조 동기화 마법사가 있습니다.

저는 이것을 Hibernate를 사용하여 해결합니다.결측 테이블, 열 등을 탐지하고 자동으로 만들 수 있습니다.

dbDeploy 또는 유사한 스크립트를 사용하여 현재 작업 방식에 몇 가지 자동화 기능을 추가할 수 있습니다.이렇게 하면 스키마 변경 내용을 추적하고 스키마를 적합한 대로 업그레이드/롤백할 수 있습니다.

여기 마젠토 데이터베이스 동기화를 위해 작성한 스트레이트 리눅스 배시 스크립트가 있습니다.하지만 다른 용도로 쉽게 수정할 수 있습니다 :)

http://markshust.com/2011/09/08/syncing-magento-instance-production-development

DBV - "데이터베이스 버전 제어, 쉽게!" (PHP)

언급URL : https://stackoverflow.com/questions/255905/how-to-synchronize-development-and-production-database

반응형