Umbraco에 응용 프로그램 또는 확장 프로그램을 만들어서 백엔드 사용자가 개발 사이트에서 변경 사항을 마이 그 레이션 할 수있게하는 책임이있는 상황에 처해 있습니다. 라이브 사이트. 이 마이그레이션은 하루에 한 번 발생하거나 백엔드 사용자가 백엔드의 버튼을 누르면 발생합니다.Umbraco 데이터를 개발 사이트에서 라이브 사이트로 프로그래밍 방식으로 마이 그 레이션
나는 Umbraco가 Courier 패키지에서 이것을 제공하지만, 분명히이 경우에는 충분하지 않음을 알고 있습니다. 더
몇 가지 세부 사항 :
개발과 라이브 사이트 모두 동일한 서버에 상주하는 등 자신의 데이터베이스를 않습니다. 데이터는 한 폴더에서 다른 폴더로 전송되어야하며 데이터베이스의 테이블과 동일하게 전송하면됩니다.
내가 알 수있는 것처럼이 문제를 해결할 수있는 두 가지 방법이 있습니다.
1) 기본적으로 실제 데이터베이스의 해체를 수행하고 새 버전으로 업데이트하는 전체 마이그레이션을 수행합니다. 그런 다음 필요한 모든 파일을 복사합니다.
2) 개발자 사이트에서 변경 한 문서 유형을 포함하는 패키지를 만들고 실제 사이트에서 해당 패키지를로드하십시오.
1 번 문제는 전송을 완료했을 때 전체 사이트를 다시 게시해야한다는 것입니다. 내가 아는 한 웹 서비스로이 작업을 수행 할 수 있지만 콘솔 앱을 대신 사용할 수 있으면 좋을 것입니다.
내 질문은 다음과 같습니다 프로그램 패키지를 작성하고 같은 방식으로로드하거나 어떤 프로그래밍이 마이그레이션을 달성하는 가장 좋은 방법이 될 것입니다 수있는 방법이
있습니까? 나는이 : 실제로 의미에서 완전한 미러링을하고 결국
편집을 할 수있는 방법에 대한 손실의 종류 나처럼
어떤 제안은 많이 주시면 감사하겠습니다 그 I Robocopy를 사용하여 폴더에서 변경된 모든 파일을 전송 한 다음 SQL 명령으로 개발 사이트의 백업을 수행 한 다음 RESTORE SQL 명령을 사용하여 실제 데이터베이스에서 복원했습니다.
SQL 명령에서 몇 가지 설정을 수행해야하지만 원활하게 실행되며 변경된 파일 수에 따라 완전한 전송이 10 초가 소요됩니다.
마지막으로 한 가지. 변경 사항을 표시하려면 Umbraco를 다시로드해야합니다. 수동으로 또는 LastWriteTime을 프로그래밍 방식으로 설정하여 web.config 파일을 수정하면됩니다.
그러나 데이터베이스의 노드 마이그레이션은 어떻게 처리합니까? 다른 사람들이 답을보고있는 중이라면 실제로 게시하고 싶지 않은 페이지가있을 경우 우발적으로 게시하지 않도록 새 페이지의 ID를 추적해야합니다. –
두 개의 동일한 데이터베이스로 시작합니다. 그런 다음 1 개를 실제 환경에 배치하면 변경 될 모든 테이블을 다시 시드합니다 (어떤 테이블이 변경 될지 모름). 정말 높은 시드로 시작합니다. 기존 콘텐츠를 덮어 쓸 수 있으므로 (동일한 ID) 기존 콘텐츠를 방해하지 않고 원본 데이터베이스의 새 콘텐츠를 복사 할 수 있습니다. – sebastiaan
FYI : 저는은 총알을 찾고 있었는데 이것이 내가 가진 것만큼이나 가깝습니다. Umbraco에서이 작업을하는 것은 매우 어렵고 성공적인 자동화 전략을 가진 많은 사람들을 모릅니다. Courier 2는이 모든 것을 정말로 쉽게 만들어야합니다. – sebastiaan