flask forum 개발 노트(2)Mysql 데이터베이스 활용

1340 단어
사이트에서 가장 먼저 해야 할 기능은 로그인 등록이기 때문에 Mysql 데이터베이스에 연결을 설정하려고 합니다.물론 데이터베이스의 선택은 매우 많다. Mysql,Postgres,SQLite,MongodB 등이다. 이 책에서 사용한 것은 SQLite 데이터베이스이다. 이forum은 Mysql 데이터베이스를 사용하고 작업 중에도 Mysql 데이터베이스를 더욱 광범위하게 활용해야 한다.Mysql 데이터베이스의 URL 형식은 다음과 같습니다.
mysql://username:password@hostname/database

다음 구성 파일(config.py) 쓰기
import os

basedir = os.path.abspath(os.path.dirname(__file__))

class Config:
    SQLALCHEMY_DATABASE_URI = 'mysql://root:ll@localhost/forumweb'
    SQLALCHEMY_TRACK_MODIFICATIONS = True
    ...

    @staticmethod
    def init_app(app):
        pass

config ={ 'default': Config }

이 책의 데이터베이스 설정은 다음과 같다.
SQLALCHEMY_COMMIT_ON_TEARDOWN = True

이 설정 문장은 매번 Request에서db를 자동으로 제출하는 데 사용됩니다.session.commit () 그러나 최신 버전의 Flask-SQLAlchemy에서 이 설정 키는 제거되었습니다. 새로운 설정 키를 설정해야 합니다.
SQLALCHEMY_TRACK_MODIFICATIONS = True

이 설정 키의 역할은 True(기본값)로 설정하면 Flask-SQLAlchemy는 대상의 수정을 추적하고 신호를 보냅니다.필요하지 않으면 비활성화할 수 있는 추가 메모리가 필요합니다.
설정이 완료되면 셸 모드에서 테스트를 할 수 있습니다db.create_all()를 통해 데이터베이스를 만들고 일부 줄을 추가합니다db.session.add()로 추가하고 마지막으로db.session.commit()로 제출합니다(수정 줄, 삭제 줄 등은 군말하지 않습니다).검사 방식은 셸 모드에서 명령으로 삽입된 줄의 id 값이 추가되었는지 확인하거나, 도형화 도구인 MySQLWorkbench 검사를 사용할 수 있습니다.

좋은 웹페이지 즐겨찾기