2013-01-17 4 views
1

로컬 프로젝트에서 작업하는 mysql 데이터베이스가있는 그룹 프로젝트에서 작업하고 있습니다. 테이블에는 주로 이미지 처리에 사용되는 파일 이름과 통계가 있습니다. 우리 모두는 결과를 가지고 데이터베이스를 로컬로 업데이트하는 일부 처리를 실행합니다.컴퓨터간에 mysql 테이블을 업데이트하는 방법

누군가가 자신의 데이터베이스를 변경하면 다른 사람의 데이터베이스를 업데이트하는 것이 가장 좋은 방법인지 알고 싶습니다.

제 아이디어는 각 처리 실행 후에 mysqldump을 수행하고 git (우리가 종교적으로 사용하는)에 의해 파일을 추적하도록하는 것입니다. 필자는 데이터베이스에 파이썬 유틸리티를 많이 작성했으며, db가 뒤에 있음을 감지하면이 덤프를 데이터베이스로 읽을만큼 간단합니다. 나는이 작업을 정말로하고 싶지는 않지만, 모든 커밋에 불필요한 10-50MB 파일로 우리 git repo를 방해하지는 않습니다.

누구든지 더 좋은 방법을 알고 있습니까?

* 우리는 항공 우주 학생입니다. 나는 약간의 DB 경험을 가지고 있지만, 단지 도움이 필요하다. 우리는 바쁘고 IT 네트워킹 전문가가되기를 기대하지 않습니다. DB 멍청한 녀석들이므로 데이터베이스를 가지고 무엇이든 할 때마다 공포의 표정을 지켜 보면서 그냥 손을 놓고 싶습니다. 나는 그들을 위해 손을 멀리 지금까지했다.

+0

스키마 변경이나 스키마 및 데이터 변경에 관심이 있습니까? –

+4

왜 원격 사용자가 여러 명인 단일 서버를 실행하지 않는가? – hjpotter92

+1

데이터베이스를 중앙 위치에두고 세 로컬 컴퓨터의 데이터를 직접 작성하는 것이 좋습니다. – Tom

답변

1

Rails 스타일의 데이터베이스 마이그레이션 개념을 따르는 것이 좋습니다. 개발할 때 패치로 작동하는 롤 포워드 및 롤백 SQL 문을 제공하여 데이터베이스를 특정 수정 상태로 롤업 할 수 있습니다 필요한 것입니다.

물론 이것은 일반적으로 스키마 변경 사항 만 처리하기위한 것입니다. 즉, 테이블에 동적으로 채워지는 데이터 수정에 대해 걱정할 필요가 없습니다. 기본적으로 내용이 정적 인 구성 테이블 또는 이와 유사한 테이블의 경우 마이그레이션을 확실히 추가 할 수 있습니다. "파이썬 레일 마이그레이션"에 대한

구글 검색

다음과 같은 도구를 포함하여, 결과의 수를 설정 :

http://pypi.python.org/pypi/simple-db-migrate

+0

오, 나는 그 생각을 좋아한다. 나는 그것을 조사하고, 더 나은 것이 없다면 곧이 대답을 점검 할 것입니다. –

+0

DB '버전 제어'를위한 가장 쉬운 방법이기 때문에이를 검증 할 것입니다. 나는 Rails 유틸리티를 사용하는 것을 좋아했으며, 파이썬이 그런 것을 가지고 있다는 것을 몰랐다. 유일한 문제는 모든 마이그레이션 파일이 여전히 git과 동기화되어야한다는 것이며 변경 사항을 업데이트해야 할 때마다 대용량 파일이 Google의 저장소를 방해하지 않기를 바랍니다. 감사! –

0

내가 어떤 공유 호스팅에 DEV의 MySQL 서버를 작성하는 것이 좋습니다 것입니다. (DB 경험이 필요 없음).
이 서버에 대한 원격 액세스를 허용합니다. (다시 한번 경험이 필요하지 않으며 제어판을 통해 모든 것을 수행 할 수 있습니다.)
사용자와 개발자 그룹은 언제 어디서나 모든 장치에서 데이터베이스에 액세스 할 수 있습니다. (인터넷에 연결되어있는 한)