2016-06-07 1 views
0

저는 웹 개발에 익숙하지 않아 라이브 사이트를 수정/수정/수정하는 것에 대해 심각한 우려가 있습니다.라이브 DB를 편집하는 중 웹 사이트를 로컬에서 편집하는 방법

나는 WordPress를 사용하고 DB도 구성 설정을 유지하므로 전자 상점과 함께 웹 사이트에서 일부 작업을 수행해야한다고 가정 해 보겠습니다. 라이브 웹 사이트에서 DB의 최신 버전으로 내 로컬 사이트를 시작할 것입니다. 하지만 몇 시간 만에 끝나면 몇 가지 새로운 주문, 게시물 등이 있기 때문에 실제 DB를 로컬 환경에서 DB로 덮어 쓸 수는 없습니다.

어떻게 이런 종류의 문제를 해결할 수 있습니까?

자신의 조언이나 경험을 공유해 주신 모든 분들께 감사드립니다!

+0

는 WP의 언급 할 수 있지만, 드루팔은 이런 종류의를 수행하는 기능 모듈이 확실하지 워드 프레스에 대한 비슷한 일이 있다면? –

+0

@ james-geldart 인터넷을 통해 나는 두 개의 DB를 병합하는 것이 위험하고 거의 불가능하다는 것을 읽었지만 어떤 방법이 있어야합니다. –

+0

예, 악몽입니다. ​​config로 무거운 CMS 플랫폼의 약점입니다. 설정으로 많은 것을 할 수 있다는 사실은 그들의 힘입니다. 드루팔 (Drupal의 기능)은 컨텐츠 및 설정을 포함한 다양한 변경 사항을 패키지에 담아서 버전 관리하에 배치 할 수있게 해줍니다. 하지만 내가 말했듯이, WP 상당이 있는지 모르겠다. –

답변

1

먼저 파일에서 수행 한 모든 변경 사항을 기록해야합니다. 올바르게 문서화해야합니다. 다음은 실제로 삼가지 경우

i) 귀하는 다음 분명히 파일 만 업데이트해야하는 데이터베이스를 변경할 필요 그냥 파일을 변경하지 않으면 혼자

을 파일 변경이 있습니다. 먼저 "action"과 "filters"메소드를 통해 모든 것을 수행 할 수 있으므로 핵심 WordPress 파일을 해킹 할 필요가 없습니다. 핵심 파일이 안전하도록 플러그인을 만들어야합니다. 데이터베이스를 chaning 대신 전체 datase을 삭제하고 단순히 사용하여 테이블을 변경할 수 있습니다 다시로드하는 경우 만

데이터베이스를 chaning 때 https://codex.wordpress.org/Writing_a_Plugin

II) 명령 http://dev.mysql.com/doc/refman/5.7/en/alter-table.html을 "ALTER".

iii) 데이터베이스와 파일을 모두 변경합니다.

팔로우 (i) 및 (ii)

+0

DB를 변경하는 경우. 내가 로컬에서 ID 5를 가진 예제 폼을 만들고 라이브에서도 ID 5로 폼을 만들면 어떻게됩니까? ALTER 명령을 사용하려고 할 때 충돌이 발생해야합니다. 이미 DB에있는 값을 편집하는 경우에만 제안한 것을 가정합니다. –

+1

@FrankMejzlik 기존 데이터베이스를 덮어 쓰면 안됩니다. ID가 고유하고 자동 증가하는 경우 새 ID가있는 다른 행을 삽입하십시오. 라이브 서버의 기존 ID는 그대로 유지됩니다. –

+1

point (i)는 Git 또는 Subversion과 같은 버전 제어 시스템으로 수행해야합니다. 당신이 이론적으로 데이터베이스에 대해 실행하는 SQL 스크립트를 만들 수는 있지만 Wordpress (또는 다른 유사한 시스템)에서는 데이터베이스를 직접 업데이트하지 않아야하므로 (ii)는 어렵습니다. UI 및 그 DB 변경 사항을 추적하지 않습니다. 당신은 항상 당신의 dev에 데이터베이스에 쿼리 로깅을 활성화 할 수 있지만, 그게 작동 할 수도 ... –

관련 문제