더북(TheBook)

②는 간단합니다. db.py 파일 안에 있는 DSN 객체를 import한 것인데요. 눈여겨볼 부분은 from db import DSN이 아니라 from appserver.db import DSN, 즉 이름 공간(namespace) 시작점이 appserver라는 것입니다. 이것은 앞서 alembic.ini 파일에서 prepend_sys_path를 appserver 디렉터리의 상위인 alembic.ini 파일이 있는 경로로 지정했기 때문에 그렇습니다.

물론 alembic.ini 파일에서 prepend_sys_path를 ./appserver로 지정하고, env.py 파일에서 import하는 경로에서 appserver를 떼도 됩니다. 그런데 한 가지 문제가 있습니다.

▲ 그림 5-5 Alembic의 env.py 파일에서 이름 경로를 잘못 지정하여 import 대상으로 인식되지 않는 문제

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.