더북(TheBook)

두 함수 do_run_migrations()run_migrations_online()을 추가했습니다(①). do_run_migrations()는 실제로 마이그레이션을 수행하는 함수고, run_migrations_online()은 비동기 동작 환경에서 do_run_migrations() 함수를 실행하는 역할을 합니다.

앞서 우리는 alembic.ini 파일에서 sqlalchemy.url을 주석 처리했습니다. 그래서 연결할 데이터베이스 정보가 없는데, 이것은 db.py 파일에 있는 DSN을 import해 와서 사용한 것입니다. 이로써 데이터베이스에 접속하는 정보는 DSN으로 단일화되었습니다.

②는 비동기 데이터베이스 엔진을 생성합니다. 이제 비동기 데이터베이스 드라이버인 aiosqlite도 사용 가능합니다.

③은 비동기 데이터베이스 엔진으로 데이터베이스에 연결(접속)하고, 그 접속하에서 do_run_migrations()를 실행하는 코드입니다.

 

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