2009-12-22 2 views
3

지난 며칠 동안 migrating a Django app의 의미를 계속 생각하고 django-south으로 장고 앱을 이전하는 것에 대해 들었습니다. 어쩌면 영어가 모국어가 아니기 때문에 충분한 영어 실력이 부족하거나 프로그래머의 삶에서 직면하는 것 중 하나 일 수 있습니다. 너무 단순해서 처음에는 천재를 이해해야합니다. 남쪽으로"장고 응용 프로그램 마이그레이션"의 의미는 무엇입니까?

, 당신이 그것을 설치 :

나는 위키 백과에 migration의 정의를 읽고 장고 남쪽의 ""the idea를 읽고 인용, 나의 모국어로 '마이그레이션'의 번역을 읽었습니다 다음 은 (중 손을 작성하거나 모델 정의에서 그들을을 자동 생성)이 syncdb 때. 를 한 개 이상의 앱이 어떤 마이그레이션을주고 당신거야 마이그레이션 (일이없는 경우에만 동기화 애플 리케이션 예를 들어 django.contrib.auth와 같이 e, 은 고정 스키마입니다.)../manage.py migrate를 실행하면 사우스가 실행되고 이전이 수행됩니다. 지능적으로.

이것은 혼란스럽고 "장고 응용 프로그램 마이그레이션"또는 "일반적인 마이그레이션"의 모든 것을 이해하지 못합니다. 나는 그 단어를 해석하는 법을 알면 이해할 수있다. migration

당신은 요점을 얻는다.

나에게 인내심을 가지고 있지만 정말로 알고 싶습니다. 어쩌면 당신 중 한 명이 제게 설명해 주실 수 있습니다.

미리 감사드립니다.

답변

8

사우스와 장고에 관해 이야기 할 때 마이그레이션이란 데이터베이스 스키마를 변경하는 것을 의미합니다.

장고에 내장 된 syncdb 명령은 먼저 모든 항목을 삭제하지 않고 스키마를 자동으로 변경할 수 없으므로 South 및 마이그레이션과 같은 것들이 발생했습니다.

기본적으로 마이그레이션은 데이터를 손상시키지 않으면 서 데이터베이스 스키마를 변경하는 방법입니다.dmigrations page에서

:

dmigrations와

( 초기 테이블의 생성 포함) 데이터베이스에 대한 모든 변경이 마이그레이션에 번들로 제공됩니다. 마이그레이션은 Python 이고 마이그레이션 디렉토리는 디렉토리입니다. 그들은 적용될 수 있고 는 순차적으로 적용되지 않는다 (되 돌린).

+0

"기본적으로 마이그레이션은 데이터를 그대로 유지하면서 데이터베이스 스키마를 변경하는 방법입니다." 이것은 절대적으로 의미가 있습니다. 고마워, TM. –

1

마이그레이션은 일반적으로 한 위치에서 다른 위치로 응용 프로그램을 이동하는 것을 말합니다. 이 번역은 물리적 인 움직임을 통해 일어날 수 있습니다. (한 서버에서 다른 서버로 이동하는 것과 같이), 또는보다 논리적 인 움직임으로서. (예 : C#에서 F #까지)

한 가지 기술 만 언급하면. 주로 데이터베이스 측면의 약간의 논리적 인 움직임을 가진 물리적 인 움직임 응용 프로그램 일 가능성이 높습니다.

응용 프로그램의 기능을 요약합니다. 이는 단순히 모든 구성 및 데이터를 파일 구조로 내보내고 새 서버의 데이터베이스로 다시 통합 할 수 있습니다.

관련 문제