Knowledge Map
create_db using sqlalchemy 본문
DB로 여러가지를 쓰지만 sqlite3의 경우 파일 형태로 만들어지다 보니, 그 간편함 떄문에 여럿 쓴다.
sqlite3에서 db 생성하는 방법 중에 sqlalchemy를 이용하면 간단히 만들수 있다.
먼저 아래와 같이 각각 app.py를 만들어준다. (model.py 코드도 같이 들어가 있다.)
그리고 해당 app.py에서 db를 import 한 다음에 db.create_all() 를 하면 된다.
여기서 app.config["SQLALCHEMY_DATABASE_URI"] 설정을 꼭 해줘야 한다.
그리고 보통 model.py로 분리해서 쓰고, model.py안에서 db = SQLAlchemy() 이런식으로 사용을 했었다면 app.py에서db.init_app(app) 이런식으로 해당 앱에 대해서 초기화를 해줘야 한다. 그러지 않으면 db.create_all()을 했을 때
AssertionError: The sqlalchemy extension was not registered to the current application. Please make sure to call init_app() first.
이런식으로 에러가 뜬다.
출처 : http://flask-sqlalchemy.pocoo.org/2.3/quickstart/
그외 context에 관련된 내용들
http://flask-sqlalchemy.pocoo.org/2.3/contexts/
http://flask.pocoo.org/docs/1.0/appcontext/#creating-an-application-context
'PYTHON' 카테고리의 다른 글
celery 관련 (0) | 2018.06.11 |
---|---|
import _macosx 에서의 runtimeError (0) | 2018.06.01 |
SQLAlchemy session transaction delete 문제 (0) | 2018.04.12 |
RuntimeWarning tensolrflow does not match runtime version 3.6 (0) | 2018.01.19 |
python3 bytes class => json (0) | 2018.01.16 |