점프 투 플라스크 58페이지 03단계에서 오류가 발생하는데 어떻게 해야하나요.
58페이지 03단계
ERROR [root] 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.
https://wikidocs.net/81059 여기 나온대로 아래코드를 적용해봐도 기존 오류가 해결될뿐 인덱스 오류가 생기네요 일단은 다시 58페이지 03단계로 돌려놨는데 해결방법좀 알려주세요 ㅠㅠ
from flask import Flask
from flask_migrate import Migrate
from flask_sqlalchemy import SQLAlchemy
# --------------------------------- [edit] ---------------------------------- #
from sqlalchemy import MetaData
# --------------------------------------------------------------------------- #
import config
# --------------------------------- [edit] ---------------------------------- #
naming_convention = {
"ix": 'ix_%(column_0_label)s',
"uq": "uq_%(table_name)s_%(column_0_name)s",
"ck": "ck_%(table_name)s_%(column_0_name)s",
"fk": "fk_%(table_name)s_%(column_0_name)s_%(referred_table_name)s",
"pk": "pk_%(table_name)s"
}
db = SQLAlchemy(metadata=MetaData(naming_convention=naming_convention))
migrate = Migrate()
# --------------------------------------------------------------------------- #
def create_app():
app = Flask(__name__)
app.config.from_object(config)
# ORM
db.init_app(app)
# --------------------------------- [edit] ---------------------------------- #
if app.config['SQLALCHEMY_DATABASE_URI'].startswith("sqlite"):
migrate.init_app(app, db, render_as_batch=True)
else:
migrate.init_app(app, db)
# --------------------------------------------------------------------------- #
from . import models
(... 생략 ...)
감귤오렌지 님 997
2020년 12월 22일 1:56 오전
1개의 답변이 있습니다. 1 / 1 Page
뭔가 모델이 수정되면서 ALTER 가 진행된 거 같습니다.
이런저런 테스트를 수행하신것 같네요.
58페이지면 초반이니 가장 쉬운 방법으로 기존 데이터베이스를 삭제하시고 진행하시면 될 것 같습니다.
모델과 __init__.py
파일을 책에 있는데로 일단 수정하신후, c:\projects\myproject\migrations
디렉터리와 c:\projects\myproject\pybo.db
파일을 삭제하세요.
그리고 다음 명령을 순서대로 수행하시면 됩니다.
flask db init
flask db migrate
flask db upgrade
해 보시고 안되면 다시 알려주세요.
박응용 님
M 2020년 12월 22일 9:44 오전