Magento Development Workflow : Test magento 설치에서 데이터베이스를 "소스 제어"하고 라이브 Magento 설치를 업데이트하는 방법은 무엇입니까?


17

온라인 상점의 모든 측면을 관리하려는 사람에게 최고의 개발 워크 플로가 무엇인지 알고 싶기 때문에이 질문을 게시하고 있습니다.

물론 모든 웹 개발과 마찬가지로 전체 소프트웨어 솔루션의 라이브 카피와 최소한 하나의 개발 카피를 갖는 것이 매우 중요합니다. 그러나 Magento를 관리하는 것은 다른 "파일 기반"소프트웨어를 관리하는 것과는 다릅니다. 왜냐하면 데이터베이스 구성 요소도 포함되어 있기 때문에 소스 제어를위한 VCS 도구로 Git과 같은 도구를 사용할 수 있다는 사실 외에도 라이브 버전과 개발 버전 간의 데이터베이스 차이 관리에 대해 설명합니다.

물론 cron을 통해 라이브 데이터베이스를 백업하고 백업에서 소스 컨트롤에 SQL INSERT 문을 삽입 할 수는 있지만 두 데이터베이스는 별도로 진화하는 반면 고객은 라이브 데이터베이스에 들어가는 주문을 한 손으로 등록하고 주문할 수 있습니다. 개발 데이터베이스가 개별적으로 업데이트되기 때문입니다. 개발 및 라이브 버전을 병합 할 때 php 파일은 git를 통해 문제없이 업데이트 할 수 있습니다 (데이터베이스 구성 세부 정보를 호스팅하는 단일 파일에서 gitignore 사용). 데이터베이스 파일은 어떻습니까? 재해를 일으키거나 시스템을 손상시키지 않고 두 백업에서 INSERT SQL 문이 포함 된 두 파일을 병합하려면 어떻게해야합니까?

이것은 내가 직면하고있는 Magento 개발 라이프 사이클의 그늘진 부분입니다 : 데이터베이스 차이점 관리.

Magento 저장소의 개발 / 테스트와 라이브 버전간에 다른 데이터베이스 내용을 동기화하는 유일한 솔루션처럼 Magento 관리자 패널을 통해 개발 버전에서 변경된 모든 내용을 종이에 적어 두는 것 같습니다. Magento가 오프라인 상태가되어 유지 관리 모드로 전환되는 동안 실수를 한 다음 모든 것이 테스트되고 파일로 작동되면 라이브 버전으로 이동하여 동일한 변경 사항을 수행하기를 바랍니다. 이것은 수동 프로세스이므로 오류가 발생하기 쉽습니다.

그렇다면 테스트 마 젠토 서버와 라이브 마 젠토 서버 간의 데이터베이스 동기화를 처리하는 더 좋은 방법은 무엇입니까?

감사.


답변:


3

내가 알고있는 옵션

1.) 수동-다시 말해서 백엔드에서 수동으로 작업 반복 = 오류가 발생하기 쉬운 것처럼 느리게

2.) 직접 SQL 쿼리가있는 데이터베이스 수준에서 = 오류가 발생하기 쉽다

3.) SQL 설정 / 업그레이드 스크립트를 통해 추가하고 변경하는 확장을 만듭니다. 이 파일은 리포지토리의 일부이며 배포 할 수 있습니다. 이 방법은 대부분 UI를 우회합니다.

4.) 이와 같은 프로젝트에서이 워크 플로우의 일부를보다 즐겁게 만들기 위해 진행중인 작업 있었지만 아직은 아직 준비가되지 않았다고 생각합니다.

이 모든 옵션 중에서 현재 3을 선호합니다.)


예, 나도 3을 좋아합니다. 누가하지 않겠어요. 그러나 3은 유일한 실제 옵션이므로 아직 모든 제안을 무시하고 UI가 로컬 서버에서 작동하는 방식을 이해하고 모든 제품 카탈로그 및 라이브 서버에서 직접 제품 및 기타 업데이트를 수행하여 일정 시간 동안 오프라인 상태로 만들거나 더 나은 제품을 준비 할 때 제품을 활성화 할 때주의를 기울여야합니다. 어쨌든 조심해야합니다. 이런 식으로, 어쨌든 1과 2 중에서 최소한의 피해를 줄 수 있습니다. Thx
John Sonderson

3.) 안정적이고 반복 가능하며 파일 기반입니다. 단점은 설정하는 데 더 많은 작업이 필요하다는 것입니다.
Kristof at Fooman

1

mageploy 도이 문제를 해결할 수 있습니다.


현재 mageploy의 아무도 웹 사이트를 업데이트하지 않았습니다. 그것은 여전히 ​​그것이 Magento 1.7.0.2에만 해당한다고 명시하고 있습니다.
Max

1

Quest Software (현재 Dell) Toad for MySQL과 같은 데이터베이스 도구가 있습니다. 이 데이터베이스 관리 도구에는 두 데이터베이스 간의 변경 사항을 보는 데 사용할 수있는 데이터 및 구조 비교 기능이 있습니다. 비교하려는 데이터베이스 버전의 백업 (또는 git commit)과 voila를 유지하십시오. 둘을 동기화시키기위한 스크립트 생성기도 있습니다.


1

로컬 및 스테이징 개발에서 읽기 / 쓰기를위한 원격 DB를 작성하여이 문제를 해결했습니다. 시간과 효율성에 큰 도움이됩니다. 더 이상 복제하지 않고 모든 사람의 환경에 DB를 업로드합니다.

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