[제발 도와주세요]160쪽 flask db upgrade 문제
160쪽 flask db migrate를 수행했더니
ERROR [flask_migrate] Error: Target database is not up to date.
라는 오류가 떠서 일단은 무시하고 뒤에
flask db heads 와 flask db current, flask db stamp heads 를 수행했습니다. 그리고 flask db migrate를 실행하니 다음과 같이 정상적으로 처리 되더군요.
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [alembic.autogenerate.compare] Detected added foreign key (user_id)(id) on table question
Generating c:\projects\myproject\migrations\versions\85627621608e_.py ... done
문제는 flask db upgrade를 실행했을 때입니다.
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [alembic.runtime.migration] Running upgrade 838bdc5f8c0b -> 85627621608e, empty message
ERROR [flask_migrate] Error: No support for ALTER of constraints in SQLite dialectPlease refer to the batch mode feature which allows for SQLite migrations using a copy-and-move strategy.
이런 게 뜹니다. 대체.. 어디가 잘못된걸까요? init.py 파일도 제대로 수정했고 오타는 없는 것 같은데 계속 여기서 오류가 뜹니다ㅠ
init.py 파일은 다음과 같습니다.
from flask import Flask
from flask_migrate import Migrate
from flask_sqlalchemy import SQLAlchemy
import config
db = SQLAlchemy() #전역 변수로 db 개체 만듦
migrate = Migrate() #전역변수로 migrate 만듦
def create_app():
app = Flask(__name__)
app.config.from_object(config) #config.py 파일에 작성한 항목을 app.config 환경변수로 부르기 위해 추가
#ORM
db.init_app(app)
migrate.init_app(app,db) #create_app 함수 안에서 init_app 메서드를 이용해 초기화
from . import models
#블루프린트
from .views import main_views, question_views, answer_views, auth_views
app.register_blueprint(main_views.bp)
app.register_blueprint(question_views.bp)
app.register_blueprint(answer_views.bp)
app.register_blueprint(auth_views.bp)
#필터
from .filter import format_datetime
app.jinja_env.filters['datetime'] = format_datetime
return app
coin6442 님 1708
M 2021년 7월 29일 6:03 오후