做网站制作的摘要,线下推广是什么意思,软件项目管理课程设计,南昌好的做网站的公司Flask 连接数据库#xff0c;使用Flask-Migrate实现数据库迁移
安装Flask-Migrate插件
pip listall Flask-Migrate# 安装失败使用以下方式安装
pip install –i https://pypi.tuna.tsinghua.edu.cn/simple flask-migrate使用Flask-Migrate步骤
app.py主要用于数据库连接
f…Flask 连接数据库使用Flask-Migrate实现数据库迁移
安装Flask-Migrate插件
pip listall Flask-Migrate# 安装失败使用以下方式安装
pip install –i https://pypi.tuna.tsinghua.edu.cn/simple flask-migrate
使用Flask-Migrate步骤
app.py主要用于数据库连接
from flask import Flask
from flask_sqlalchemy import SQLAlchemyapp Flask(__name__)
# 连接数据库
app.config[SQLALCHEMY_DATABASE_URI] mysqlpymysql://root:123456127.0.0.1:3306/flask_test
app.config[SQLALCHEMY_TRACK_MODIFICATIONS] True
db SQLAlchemy(app)app.route(/)
def index():return Hello!if __name__ __main__:app.run()model.py 中导入了db作用是存储一个User类用于生成表头。
# _*_ coding: utf-8 _*_Time: 2024/1/15 9:37
Author: Bana_lv
Version: V 0.1
File: model.py
from app import dbclass User(db.Model):user_id db.Column(db.Integer, primary_keyTrue)username db.Column(db.String(60), nullableFalse)password db.Column(db.String(30), nullableFalse)manager.py用于数据迁移管理运行后将生成一个文件夹。
# _*_ coding: utf-8 _*_Time: 2024/1/15 9:37
Author: Bana_lv
Version: V 0.1
File: manager.py
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
from app import app, dbmigrate Migrate(app, db)manager Manager(app)
manager.add_command(db, MigrateCommand)if __name__ __main__:manager.run()Flask-Migrate运行
初始化一个迁移脚本的环境
python manager.py db init
数据库的创建。
python manager.py db migrate
数据更新
python manager.py db upgrade
问题汇总
问题一flask_migrate无法导入MigrateCommand【解决方法】
原因Flask-Migrate 3.1.0 版本过高导致
解决方法降低版本即可。
pip install -i https://pypi.douban.com/simple/ --upgrade Flask-Migrate2.7.0
问题二ImportError: cannot import name ‘_request_ctx_stack‘ from ‘flask‘
解决方法 修改 [你的虚拟环境]\Lib\site-packages\flask_script\commands.py from flask import request_ctx_stack 改为 from flask import request_ctx 修改 [你的虚拟环境]\Lib\site-packages\flask_init.py 导入 from .globals import _no_app_msg, request_ctx
问题三:ModuleNotFoundError: No module named ‘flask._compat‘
原因分析
ModuleNotFoundError: No module named flask._compat
ctrl左键 查看manager查看源码找到from flask._compat import text_type这行按ctrl进行查看显示找不到文件Flask 2.0.0版本修改了。
Flask版本过高问题flask里面的 ._compat.py文件没有降低版本即可。
pip3 install flask1.1.2不降级则可以尝试修改一下
flask_script/__init__.py中from ._compat import text_type 改成 from flask_script._compat import text_type 。