git을 사용하여 WP 데이터베이스를 여러 개발자간에 동기화 유지


33

WordPress 개발 프로젝트에 적용되는 git 워크 플로 개선을 위해 노력하고 있습니다. 종종 콘텐츠 관리 시스템을 개발할 때 http://dev.finalsitename.com프로덕션 버전에서 사용될 사용자 지정 게시물 유형 및 분류 체계가 포함 된 개발 서버 (예 :)를 작성합니다. 이를 통해 내 고객은 자신의 콘텐츠를 사이트에 추가 할 수 있습니다.

그들이이 작업을 수행하는 동안 나는 보통 로컬 호스트 환경에서 사용될 사용자 정의 프로그래밍 / 플러그인뿐만 아니라 모양과 느낌을 구축하고 있습니다. 업데이트를 덮어 쓰지 않기 위해 일반적으로 데이터베이스 복사본을 가져 와서 교체합니다. 그러나 WP 관리 영역으로 이동하여 설정이나 작은 것을 변경 해야하는 경우가 있습니다 ...

WordPress 프로젝트를 수행하는 개발자가 여러 명인 경우 각각 사이트 버전의 (타임 스탬프 된) 데이터베이스 덤프를 수행하고 로컬 분기를 커밋하고 원격 저장소로 푸시하기 전에 루트 디렉토리에 포함시킵니다. 이 방법의 문제점은 데이터베이스를 사용하기 쉬운 방법을 결정하지 않고 종종 동기화되지 않는다는 것입니다.

여러 개발자 (및 클라이언트 / 콘텐츠 제작자)가 동일한 프로젝트에서 작업 할 수 있도록하면서 데이터베이스를 동기화하기 위해 다른 개발자가하는 일은 무엇입니까?

답변:


12

가장 쉬운 3 가지 옵션이 있습니다->

  1. 많은 백업으로 모두 연결되는 하나의 원격 데이터베이스 만 사용하십시오. 그렇게하면 db가 아닌 파일에 대해 걱정해야합니다.

  2. WordPress에 내장 된 가져 오기 및 내보내기 기능을 사용하여 새 폴더에서와 같이 wp 루트에 바로 버전 관리에 넣습니다. 확실히 몇 분이 걸리지 만 간단하게 작동하여 자동화 할 수 있지만 더 중요한 것은 버전 관리의 일부가 될 것입니다.

  3. 사용자 정의 업데이트 스크립트를 사용하여 실제 데이터베이스 동기화 버전을 지정하십시오. 나는 솔직히 당신이 git으로 그것을 관리 할 수있는 방법을 모른다. 왜냐하면 스크립트 일 뿐이고 무슨 일이 일어나고 있는지 알지 못한다 . liquibase.org/ ).


1

데이터베이스를 완전히 동기화해야하는 경우, 즉 스키마 및 데이터의 경우 백업을 기반으로 사용자 정의 버전 관리 시스템을 개발할 수 있습니다.

또는 데이터를 프로덕션 환경에서 유지하지 않고 스키마를 발전시키려는 경우 사용자 지정 솔루션 (모든 스키마 변경 사항이있는 버전 파일) 또는 개념을 기반으로하는 표준 솔루션으로 작업 할 수 migration있습니다. 이 stackoverflow 스레드에서 많은 정보를 찾을 수 있습니다 . db 스키마 변경 사항을 추적하기위한 메커니즘 .


또한 여기에 간단한 하나 stackoverflow.com/questions/825787/…
grm

1

이것이 매우 명백해 보이지만 미안하지만 모두 동일한 구조의 동일한 데이터베이스 사본이 필요하다면 사무실 / 중앙 SQL 서버를 가지고 그것을 사용하는 것이 합리적이지 않습니까? 실험을해야하지만이를 사실상의 표준으로 유지하고 해당 서버와 해당 서버 만 백업하는 경우 로컬로 복제하십시오.

그렇지 않으면 그룹 프로젝트를 수행 할 때 다른 내용을 가진 자체 설정이 있습니다. 이 코드는 테이블 구조의 업그레이드 및 마이그레이션을 담당하며 LAN을 통해 시스템에서 실행되는 코드의 로컬 설치에 서로 액세스 할 수 있으므로 컨텐츠를 공유 할 필요가 없습니다.

컨텐츠를 입력하는 경우 테스트 서버에서 컨텐츠를 실행 한 다음 라이브 서버로 내보내거나 가져올 수 있거나 라이브 인스턴스가없는 경우 프로덕션 서버로 직접 마이그레이션 할 수 있습니다.

언제든지 라이브 테스트와 WIP 데이터를 분리해야하는 경우 리포지토리에서 라이브, 테스트 및 개발 지점을 사용하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.