myproject 가상환경 만든 후 Migrate를 설치하니까 다음과 같은 오류가 발생합니다.
  1. 첫번째는 Migrate를 설치하면 pip가 venv에 설치한다는 것이었습니다. 그래서 파이참 안에서 install available package 로 Flask-Migrate를 설치했습니다. 아래는 설치한 후__init__.py 파일이며, 이 모든과정을 CMD에서 myproject를 실행한 후 했습니다. 파이참에서도 myproject로 가상환경 들어가 실행했습니다.
from flask import Flask
from flask_migrate import Migrate # 설치전에는 빨간줄. 설치후에는 빨간줄이 사라졌습니다.
from flask_sqlalchemy import SQLAlchemy # 설치전에는 빨간줄. 설치후에는 빨간줄이 사라졌습니다.

import config

db = SQLAlchemy()
migrate = Migrate()

def create_app():
   app = Flask(__name__)

   app.config.from_object(config)

   db.init_app(app)
   migrate.init_app(app,db)

   from . import models

   from .views import main_views
   app.register_blueprint(main_views.bp)

   return app
  1. 문제는 그 이후였습니다. 분명히 설치가 되어있는데 실행이 되지 않는다는거였습니다. 에러메세지는 아래와 같습니다.
TypeError: Additional arguments should be named <dialectname>_<argument>, got 'onedelete'

2-1. 그래서 myproject가 아닌 venv에서 프로젝트를 새로 만들어 처음부터 다시해봤습니다. 그러더니 아래와 같은 에러메세지가 뜨더군요.

AssertionError: View function mapping is overwriting an existing endpoint function'

백방으로 찾아봤지만 이곳에 여쭤보는게 나을 것 같아 여기다가 여쭤봅니다.

dev_min_noob 817

M 2020년 9월 1일 9:58 오전

목록으로
2개의 답변이 있습니다. 1 / 1 Page

안녕하세요..

책 내용과 동일한 환경에서 진행된 것인지 알고 싶습니다.
파이썬 버전이나 OS환경등이요..

박응용

2020년 9월 1일 10:03 오전

+1 선생님 댓글 남겨주셔서 감사합니다. 일단 아래와 같이 해결했습니다. 1) myproject 가상환경에서 하던 프로젝트는 접고 venv 가상환경에서 프로젝트 생성해서 동일하게 작업했습니다. 2) AssertionError의 경우 확인해보니 main_views.py 에 있는 함수명이 중복되어 일어난 에러였습니다. 함수명을 올바르게 바꾼후 확인해보니 정상적으로 화면이 출력됐습니다. 3) 이후 나머지는 본문에 나온것처럼 순서대로 해서 flask db migrate 명령이 정상적으로 시행됐음을 확인할 수 있었습니다. - dev_min_noob님, 2020년 9월 1일 10:56 오전 추천 , 대댓글

아 참고로 flask db migrate 명령을 수행하는 도중 일어난 에러입니다.

dev_min_noob

2020년 8월 31일 5:24 오후