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


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.