Django로 손쉬운 DB migration :: 2007/12/26 15:12

기존의 MySQL로 만들어진 데이터베이스를 Oracle로 이전해 달라는 고객의 요구사항이 있었다. 평상시 같았으면, 힘들텐데요 라고 했겠지만, Django로 만든것이기에 쉽게 될껍니다. 하고 이전 시작. (몇분걸릴까나...)

우선, models.py 를 보고, 이전대상 모델 클래스들을 확인했다.

그리고, script 를 다음처럼 만든다. 이름은 backup.py 로

from django.core.serializers import serialize
result = []
models = (User, ...) # 이전대상 모델들
for model in models:
    result.extend(model.objects.all())
print serialize('json', result)

그리고, 어플리케이션 루트디렉토리에 fixtures 디렉토리를 만든 뒤,

./backup.py > ../fixtures/initial_data.json

그 다음, settings.py 의 DB 연결정보를 MySQL에서 Oracle로 변경 한 다음, 프로젝트 루트 디렉토리에서

./manage.py syncdb

끝이다. 5분도 안걸렸다. 으흐... 모든 프로젝트의 Django화를 해야겠다.



Trackback Address :: http://yong27.biohackers.net/trackback/300
  • BlogIcon terra19 | 2007/12/31 16:35 | PERMALINK | EDIT/DEL | REPLY

    오우 대단하세요 Django의 달인!!! ^ ^
    그리고, 내년에도 좋은일만 가득하기 바랍니다. 새해 복 많이 받으세요.

    • BlogIcon yong27 | 2008/01/03 18:08 | PERMALINK | EDIT/DEL

      달인이라 하기엔 아직 갈길이 넘 멀어요~~ terra님도 새해 복 많이 받으세요.

  • 와우 | 2010/05/19 03:03 | PERMALINK | EDIT/DEL | REPLY

    괜찮네여ㅎㅎ

    설정을 좀더 자세히 알수 있을까요?? 막상써먹어야 할곳이 잇는데

    models = (User, ...) # 이전대상 모델들

    이부분 좀더 설명좀 부탁드립니다..ㅠㅠ

Name
Password
Homepage
Secret