728x90

flask-script의 manager 기능 사용하기

 

웹 어플리케이션 모듈 밖에서 스크립트를 관리해주는 라이브러리이다. 다음과 같은 기능을 포함한다.

  • 개발 서버를 실행한다.
  • 파이썬 쉘을 커스터마이징한다
  • 데이터베이스를 세팅하기 위한 스크립트를 작성한다 등

실제로 서버를 실행할 때 가장 중요한 점은, flask run 이 아니라, 

python "manage.py(manage 코드를 실행하는 파일)" "실행하고자 하는 명령어"

로 실행된다. 

 

저기 실행하고자 하는 명령어는 

    • Command class를 상속하는 것
    • @command 데코레이터를 사용하는 법
    • @option 데코레이터를 사용하는 법
1
2
3
@manager.command
def run():
    app.run()
cs

 

flask-script 공식 문서

 

Flask-Script — Flask-Script 0.4.0 documentation

Flask-Script Warning While the maintainers are willing to merge PR’s, they are not actively developing features. As of Flask 0.11, Flask includes a built-in CLI tool, and that may fit your needs better. The Flask-Script extension provides support for wri

flask-script.readthedocs.io

 

livlikwav.github.io/flask/Flask-script/

 

Flask-script로 CLI에서 편하게 서버 다루기

커맨드를 관리하기 위한 라이브러리

livlikwav.github.io

flask-script 예시 코드

 

hack4impact/flask-base

A simple Flask boilerplate app with SQLAlchemy, Redis, User Authentication, and more. - hack4impact/flask-base

github.com

 

flask-migrate 로 이미 기세팅된 데이터 받아오기

 

실제로 git pull 해오면, 기존에 초기 DB 세팅한 자가 만들어둔 마이그레이션 파일까지 받아오게 된다. 

이걸 다 받아온 후에, 우리는 나의 mysql db에 세팅하면 된다.

python manage.py db upgrade 로 업데이트!

 

flask_migrate 수정하기

 

1) 수정하고자 하는 모델 파일을 수정한다.

2) python manage.py db migrate 를 한다.

3) python manage.py db upgrade 를 한다.

 

-> 여기서 에러 발생!

 

Multiple head revisions are present for given argument 'head'

 

이건 또 뭐야 ㅠㅠㅠㅠㅠㅠ

 

우선 같은 에러에 대한 해결책을 설명한 아래의 블로그 글 참고

blog.jerrycodes.com/multiple-heads-in-alembic-migrations/

 

Multiple heads in alembic migrations - what to do

You are working on a shiny Flask app which relies on SQLAlchemy for ORM and utilizes Alembic for database schema migrationsThere are multiple contributors in the projectEvery now and then the alembic upgrade command fails to something like "... multiple he

blog.jerrycodes.com

stackoverflow.com/questions/22342643/alembic-revision-multiple-heads-due-branching-error

 

alembic revision - multiple heads (due branching) error

I've got an application and I wanted to create a new migration for it today. When I run $ alembic revision -m "__name__" I got a message Only a single head is supported. The script directory has

stackoverflow.com

 

728x90

'TIL(Today I Learned)' 카테고리의 다른 글

20201123_TIL(2)  (0) 2020.11.23
20201123_TIL  (0) 2020.11.23
20201116_TIL(2)  (0) 2020.11.16
20201116_TIL  (0) 2020.11.16
20201111_TIL_"git"세팅&"pip"VS"conda"  (0) 2020.11.11

+ Recent posts