MySQL 데이터베이스에서 버전 제어 (Git) 사용
저는 일부 프로젝트에 SVN을 사용하지만 버전 제어, 특히 Git 사용에 점점 더 많이 관여하고있는 WordPress 디자이너 / 개발자입니다. 현재 원격 저장소에 Beanstalk를 사용하고 있습니다.
모든 WordPress 파일을 내 저장소에 추가하는 것은 문제가되지 않습니다. wp-config 파일을 .gitignore 할 수 있다는 것을 알고 싶다면 현재 유일한 개발자이기 때문에 이러한 프로젝트는 비공개 소스이므로 실제로는 약간의 의미.
WordPress는 모든 CMS와 마찬가지로 데이터베이스에 크게 의존하여 텍스트 콘텐츠를 유지하고 사용중인 특정 플러그인 / 테마 구성에 따라 많은 설정을 유지합니다. 가능하다면 데이터베이스에서 버전 제어를 사용하는 가장 좋은 방법이 무엇인지 궁금합니다. 내 MySQL 서버가 Windows에서 실행 중이지만 SQL 덤프를 수행 할 수 있다고 생각합니다 (읽는 방법 : I do n't know as it), SQL 덤프를 내 저장소에 추가합니다. 그러나 내가 무언가를 라이브로 추진하면 엄청난 보안 위협이됩니다.
이를 수행하는 허용 된 관행이 있습니까?
git 저장소 내에서 데이터베이스를 백업 할 수 있습니다. 물론, 데이터를 바이너리 형태로 git에 배치하면 diff (변경)를 사용하여 데이터를 효율적으로 저장하는 git의 모든 기능을 잃게됩니다. 가장 좋은 방법은 이것이 바로 텍스트 직렬 형식으로 데이터를 저장하는 것입니다.
mysqldump는이를 수행하는 데 도움이되는 적절한 프로그램입니다. 그래도 완벽하지는 않습니다. 항목의 직렬화 순서를 방해하는 것이 있으면 (예 : 새 테이블 생성 등) 인위적인 중단이 diff에 들어갑니다. 그러면 스토리지의 효율성이 떨어집니다. 커스텀 시리얼 라이저를 작성하여 변경 사항 만 직렬화 할 수 있지만 git이 이미 잘하고있는 어려운 작업을 수행하고 있습니다. SQL 덤프를 사용하십시오.
즉, 당신이 원하는 것은 개발자가 데이터베이스를 git에 넣는 것에 대해 이야기 할 때 일반적으로 의미하는 것이 아닙니다. 예를 들어, @eggyal ( codinghorror 에 대한 링크)에 의해 게시 된 링크를 읽으면 실제로 git에 배치 된 것이 초기 데이터베이스를 생성하는 데 필요한 스크립트임을 알 수 있습니다. 데이터베이스 데이터를 깨끗한 상태로 채우거나 테스트 데이터로 채우는 스크립트와 같은 추가 스크립트가있을 수 있습니다. 이러한 모든 SQL 스크립트는 텍스트 파일이며 mysqldump에서 얻을 수있는 SQL 덤프와 거의 동일한 형식입니다. 따라서 일상적인 데이터로도 그렇게 할 수없는 이유가 없습니다.
MySQL 및 MongoDB와 같은 버전 제어 데이터베이스에 사용할 수있는 소프트웨어는 많지 않습니다.
그러나 하나는 개발 중이며 베타 버전이 곧 출시 될 예정입니다. Klonio-데이터베이스 용 버전 관리 확인
버전 제어 를 사용하여 로컬 및 원격 WordPress 블로그를 동기화하는 방법 기사에서는 Mercurial을 사용하여 WordPress 블로그의 두 인스턴스 (개발, 프로덕션) 간의 동기화를 자동화하는 방법에 대한 조언을 제공합니다. 이 시나리오에서 Git과 Mercurial은 매우 유사하다는 언급입니다.
여기서는 4 단계 (데이터베이스 동기화)가 중요합니다.
데이터베이스 컨텐츠는 개정 제어에 의해 추적되는 파일로 내보내집니다. 변경 사항을 가져올 때마다 데이터베이스 콘텐츠가이 파일로 대체되어 데이터베이스가 최신 상태가됩니다.
그런 다음 충돌과 작업의 스크립팅 부분에 대해 자세히 설명합니다.
있다 의욕의 버전 관리 튜토리얼은 당신이 익숙하지 않다면, 거기.
Wordpress는 모든 뉴스 피드 내용을 데이터베이스에 저장하므로 변경하지 않더라도 내용이 많이 변경됩니다.
참고 URL : https://stackoverflow.com/questions/13608706/using-version-control-git-on-a-mysql-database
'Program Club' 카테고리의 다른 글
| Node.js (및 Chrome V8)의 메모리 제한 (0) | 2020.12.05 |
|---|---|
| LaTeX를 ePub로 변환 (0) | 2020.12.05 |
| Visual Basic 6에서 대 / 소문자 변경 중지 (0) | 2020.12.05 |
| C # WinForms 앱 트레이를 최소화하는 적절한 방법은 무엇입니까? (0) | 2020.12.05 |
| OutOfMemoryError : 비트 맵 크기가 VM 예산을 초과합니다 :-Android (0) | 2020.12.05 |