점프투플라스크 p.293 고정 IP로 접속하기
sqlalchemy.exc.OperationalError
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: search.modify_date
[SQL: SELECT search.id AS search_id, search.subject AS search_subject, search.content AS search_content, search.create_date AS search_create_date, search.user_id AS search_user_id, search.modify_date AS search_modify_date 
FROM search ORDER BY search.create_date DESC
 LIMIT ? OFFSET ?]
[parameters: (10, 0)]
(Background on this error at: http://sqlalche.me/e/14/e3q8)

접속하면 이러한 오류가 뜹니다.

여기서 search 클래스는

class Search(db.Model):
    id = db.Column(db.Integer, primary_key = True)
    subject = db.Column(db.String(200), nullable = False)
    content = db.Column(db.Text(), nullable = False)
    create_date = db.Column(db.DateTime(), nullable = False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id', ondelete="CASCADE"),
                        nullable = False)
    user = db.relationship('User', backref=db.backref('sear_set'))
    modify_date = db.Column(db.DateTime(), nullable=True)

접속한 bp는 이곳입니다.

@bp.route('/')
def search_li():
    page = request.args.get('page', type=int, default=1)    # 페이지
    search_list = Search.query.order_by(Search.create_date.desc())
    search_list = search_list.paginate(page, per_page=10)
    return render_template('search/search_list.html', search_list=search_list)

일반 윈도우 cmd 창에서 flask run 명령어를 수행한 후 모든 행동은 정상적으로 작동했는데,
공개하기 과정에 있는 ubuntu에서 flask run --host=0.0.0.0 명령어를 수행한 후 접속하면
맨 위에와 같은 오류가 뜹니다...
어떻게 해야하는지 조언 부탁드립니다!

진완혁 49

2021년 6월 8일 5:46 오후

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

계속 해본 결과, ubuntu에 git에서 자료를 받아온 후, flask db upgrade에서 문제가 있었습니다.
page.164에 있는 명령 오류 해결하기 파트에 있는 것처럼
flask db heads, flask db current 명령으로 리비전을 확인 해보니 현재 리비전과 migrate 작업이 완료된 리비전이 달랐습니다.

flask db stamp heads
flask db migrate
flask db upgrade
명령어를 통해 해결 했습니다!!

진완혁

2021년 6월 8일 6:44 오후