이번에 Django 기반으로 서비스하는 시스템을 1.3.1 에서 1.4 로 마이그레이션하였다. settings.py 에서 다음 2가지를 변경해주니, 잘 동작되는 것 같다. 사실, 이 외에도 몇가지 있으나, Django 가 불평은 하지 않았다. 그래도 미래를 위해서 미리 바꾸어주는 것이 좋을 것이다. https://docs.djangoproject.com/en/dev/releases/1.4/를 참고해서 시도해보자.
DATABASE
# 변경전
DATABASE_ENGINE = 'postgresql_psycopg2'
DATABASE_NAME = '디비이름'
DATABASE_USER = '사용자'
DATABASE_PASSWORD = '비밀번호'
DATABASE_HOST = '호스트'
DATABASE_PORT = '포트'

# 변경후
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': '디비이름',
        'USER': '사용자',
        'PASSWORD': '비밀번호',
        'HOST': '호스트',
        'PORT': '포트',
    }
}
TEMPLATE_LOADERS
# 변경전
TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.load_template_source',
    'django.template.loaders.app_directories.load_template_source',
#     'django.template.loaders.eggs.load_template_source',
)

# 변경후
TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader',
#     'django.template.loaders.eggs.Loader',
)



Play Framework 1.2 가 새로 릴리즈 되어, 기존에 Play 1.1.1 로 구현이 되어 있는 어플리케이션을 마이그레이션 하려고 하는데, 문제가 발생하였다. 릴리즈 문서에 보면, 레이아웃이 변경된 것이 없기 때문에, 바로 동작 될 것이라는 부분이 있긴 하지만, 역시 문제가 있다. ^^; 문제가 있는 부분은 모델 쪽이었으며, DBMS를 PostgreSQL을 사용하고 동시에 아래와 같이 @Lob 어노테이션을 사용하는 경우에

@Lob
@Column(name = "memo")
public String memo;

아래와 같은 에러 메시지를 보이며 멈추는 현상이 발견되었다. Play 1.1.1 에서는 문제가 없던 것이 1.2에서는 문제가 된 것이다.

JPAQueryException occured : Error while executing query from models.IPGroups order by name asc: Bad value for type long :

이 문제를 해결하려면, 아래의 @Type 어노테이션을 추가해주면 된단다.

@org.hibernate.annotations.Type(type="org.hibernate.type.TextType")

참고 : http://groups.google.com/group/play-framework/browse_thread/thread/3828ace657b9eed5/0db5cf625fc14049?lnk=gst&q=Lob#0db5cf625fc14049

+ Recent posts