개발 사본에서 사이트를 업데이트 한 다음 라이브 사이트의 진화하는 데이터베이스를 재정의하지 않고 업데이트를 다시 이동할 수 있습니까?


20

나는 제목에 대해 가능한 한 설명하려고 노력했으며,이 질문은 다양한 형태로 이전에 요청되었지만 좋은 답변을 찾을 수 없으며 아무도이 문제를 해결하지 않았다고 상상해야합니다.

일단 WP 사이트가 활성화되면 정적 사이트가 아닌 경우 새 게시물을 추가하고 새로운 woocommerce 주문, 새로운 사용자 계정 등을 추가하여 데이터베이스를 계속 업데이트합니다. '

사이트를 크게 변경하고 업데이트하려는 경우 가장 간단하고 쉬운 방법은 로컬 설치 또는 다른 개발 도메인에 복사본을 만들어 변경하는 것입니다. 모든 변경이 끝나면 라이브 사이트로 다시 복사하고 싶습니다.

테마 및 CSS와 같은 파일 만 변경 한 경우 다소 쉽습니다. 그러나 변경 사항에 새 플러그인 추가 및 이러한 플러그인과 관련된 / 콘텐츠 추가와 같은 데이터베이스 변경이 포함되면 라이브에 추가 된 새로운 변경 사항을 무시하기 때문에 더 이상 사이트를 다시 복사 할 수 없습니다 사이트의 데이터베이스. 모든 새로운 게시물, 새로운 주문, 새로운 이미지 업로드가 모두 지워집니다.

이제 사례 시나리오마다 솔루션이 다르지만 모든 사례를 처리하는 방법이 없습니까?

예를 들어 라이브 사이트에서 변경된 사항 만 새 게시물 인 경우 게시물을 내보내고 dev 사이트로 가져온 다음 전체 사이트를 이동할 수 있습니다. 다른 항목과 동일하지만 모든 종류의 항목이 아닙니다. 그리고 이것에 대한 다른 문제는 워드 프레스의 내보내기 및 가져 오기 기능이 심하다는 것입니다. 초보적이므로 특정 항목 만 선택하고 내보내는 옵션이 거의 없습니다. 아마도 모든 "고급 가져 오기 / 내보내기"플러그인을 시도했지만 아직이 문제를 해결하지 못했습니다.

따라서 다른 스레드에서 누군가는 기본적으로 라이브 사이트의 테마를 설치하고 작업하기 위해이 플러그인 을 지적했지만 일반 사용자는 여전히 기존 테마를 볼 수 있지만 여전히 모든 유형의 변경 사항을 해결하지는 않습니다. 내용을 변경하려면 바닥 글 또는 탐색 메뉴를 가정 해 봅시다. 기존의 볼 수있는 테마 / 사이트에 계속 반영되어 새 테스트 테마에서는 잘 보이지만 실제 테마는 그렇지 않을 수 있습니다.

동일한 사이트 / 데이터베이스에서 사이트의 "분기"를 개발 한 다음 전환 할 방법이 없습니까? 또는 개발 사이트에서 개발할 수 없지만 실제로 비파괴적인 방식으로 데이터베이스를 병합 할 수 있습니까? 어떤 구성 요소와 영향을 받는지 알고 있다면 그렇게 할 수있는 방법이 없습니까? 또는 그러한 일을 시도하기 위해 MySQL 마스터가되어야합니다.

나는이 수수께끼를 가진 유일한 사람이 될 수 없습니다. 이 문제에 대한 해결책이 없다고 생각합니다. 어떻게 할 수 있습니까?

미리 감사드립니다.


3
누구나이 문제가 있으며 간단한 해결책이 없으며 코드를 개정 제어로 유지하고 SQL을 스테이징 서버에 자주 덤프하고 마이그레이션 중에 유지 관리 잠금을 만듭니다 (5-10 분).
Wyck

동의하지 않습니다. CrowdFavorite의 RAMP 플러그인은 콘텐츠를 준비하고 배포해야하는 사람들을위한 간단한 솔루션입니다. 이것을 "간단한 솔루션"이라고 부르는 것은 쉽지만, 모든 개발자가이를 설정할 수 있어야합니다 (SSH 및 원격 MySQL 액세스 등이 필요합니다)
jb510

누구나 sitepush를 사용해 보셨습니까 ? 더 나은 솔루션이라면 Ramp에 250 달러를 지불하지는 않지만 전체 배포 및 테스트 없이이 시스템이 얼마나 잘 작동하는지 외부에서보기는 어렵습니다.
James

sitepush를 사용하지 않았습니다. WP DB Pro 마이그레이션과 같은 완전한 DB를 푸시하는 것처럼 들립니다. 정적 사이트를 배포하는 데는 좋지만 라이브 사이트 (예 : 새 게시물 / 댓글)에서 실패합니다. RAMP는 실제로 DB와 병합의 차이를 관리하지만 라이브 DB를 대체하지는 않습니다.
jb510

오픈 소스 프로젝트 인 DBV PHP 를 사용 하여 DB를 버전 제어하에 둘 수 있습니다 . 관리가 용이 ​​한 UI도 있습니다. 다른 옵션은 예를 들어 CLI 앱에 마이그레이션 도구가 내장 된 Laravel으로 전환하는 것입니다.
카이저

답변:


2

당신이하고 싶은 일을하는 쉬운 방법은 아니지만, 내가 할 일은 사이트의 스냅 샷을 만들고 요루 변경을 구현하며 브레이크가 복원되고 다시 시도하는 경우입니다. 한 시간 동안 다운되었을 수 있지만 최근에 내가 작업하고있는 사이트를 어떻게 든 벽돌로 만들었을 때이 작업을 수행했습니다. 이것은 문제를 해결하는 "올바른"방법이 아닐 수도 있지만 저에게는 효과적입니다. 행운을 빕니다.


WP 팀이이를 수행하는 전문적인 방법을 생각하지 않았을 가능성이 있습니까? 2018 년입니다 !!
asael2
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.