1. 소개
Flask-Migrate는 Flask 애플리케이션에 대한 SQLAlchemy 데이터베이스 마이그레이션을 처리하는 확장 프로그램으로, Flask의 명령 줄 인터페이스 또는 Flask-Script를 통해 데이터베이스를 운영 할 수 있습니다.
2. 사용
flask db history 查看历史迁移信息
flask db current 查看当前数据库版本
flask db init 初始化数据库
flask db migrate -m "init_database" 数据库迁移
flask db upgrade 更新数据库至最新版本
flask db upgrade revision_id 更新数据库至某一版本revision_id
flask db downgrade 回退一个版本
flask db downgrade revision_id 回退至某一版本revision_id
3. 테이블 필드 유형 및 필드 길이 자동 변경
최근 개발 과정에서 문자열 형을 bool 형으로 변환하는 문제가 발생했지만 처음에는 테이블 디자인이 문자열 형으로 설계되었으므로 flask-migrate가 테이블을 변경하는 방식을 기록하십시오. 필드 유형.
Alembic은 필드 길이 변경 감지를 지원하지만 기본값은 아니므로 구성해야합니다.
migrations / env.py 파일을 찾고 run_migrations_online 함수에 다음 콘텐츠를 추가합니다.
context.configure(
…………
compare_type=True, # 检查字段类型
compare_server_default=True # 比较默认值
)