李世钦 2022-06-10 17:09 采纳率: 0%
浏览 80
已结题

数据库迁移报错,使用的是pycharn编辑器

用pycharm进行数据库迁移时,老是报错,好像是语法不对,请教一下各位

from flask_script import Manager
# 导入构建flask应用的方法
from apps import create_app
from flask_migrate import Migrate, MigrateCommand
# 导入数据库
from exts import db
from flask import render_template
# 引入要映射模型 不然迁移的时候找不到
from apps.models.blogmodels import User

# 获取app
app = create_app()
# 把app交给manager管理
manager = Manager(app)
# 设置数据库迁移相关信息
migrate = Migrate(app, db)
# 将迁移的操做使用指令的形式 交给manager
manager.add_command('database', MigrateCommand)



# 设置主路由
@app.route('/')
def index():
    return render_template('index.html')

if __name__ == '__main__':
    manager.run()


# 配置信息文件
# 开发环境
ENV = 'development'
# 调试模式
DEBUG = True
# 数据库连接驱动
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:123456@127.0.0.1:3306/blogdb'

# 创建flask应用app
from flask import Flask
# 导入配置文件
import settings
# 导入数据库
from exts import db
# 导入蓝图板块
from apps.views.user import user_bp

# 声明一个方法  创建app
def create_app():
    '''
    因为创建flask应用对象的位置发生了变化 没有和模板文件夹在同一个目录 所以要进行修改
    '''
    app = Flask(__name__,template_folder='../templates', static_folder='../static')
    # 设置应用的配置信息 --  在配置文件中加载配置信息
    app.config.from_pyfile('../settings.py')
    # 将数据库与项目关联
    db.init_app(app)

    # 注册蓝图
    app.register_blueprint(user_bp)

    return app


from flask import Blueprint, request, render_template
from apps.models.blogmodels import User
user_bp = Blueprint('user', __name__, url_prefix='/user')

# 注册
@user_bp.route('/register/', methods=['GET', 'POST'])
def register():
    # 点击注册 get请求  渲染注册页面
    if request.method == 'GET':
        # 只获取注册页面
        return render_template('register.html')
    else: # 点击注册 提价数据 获取数据信息
        # 获取post提交的数据
        print(f'{request.form}')
        return '注册成功'


# 检验用户名是否存在
@user_bp.route('/checkname/', methods=['POST'])
def check_name():
    print(request.form)
    # 获取这个用户名
    username = request.form.get('username')
    # 查询  根据username在数据库中进行查询 获取第一条数据
    data = User.query.filter(User.username == username).first()
    print(data)
    if data: # 如果用户存在 返回存在信息
        return {'code': 2000, 'msg':'用户名已存在'}
    else:
        return {'code': 2001, 'msg':'用户名不存在'}


# 用户
from exts import db

class User(db.Model):
    uid = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(20), nullable=False, unique=True)
    password = db.Column(db.String(20), nullable=False)
    phone = db.Column(db.String(11), unique=True)
    def __init__(self, username, password, phone):
        self.username = username
        self.password = password
        self.phone = phone


# 项目的扩展内容
from flask_sqlalchemy import SQLAlchemy

# 创建数据库关系映射对象
db = SQLAlchemy()


img

报警内容
C:\Users\Administrator\AppData\Local\Programs\Python\Python310\python.exe F:/python学习项目/Day14/BlogProject/manage.py
C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\flask_sqlalchemy_init.py:872: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True or False to suppress this warning.
warnings.warn(FSADeprecationWarning(
Traceback (most recent call last):
File "F:\python学习项目\Day14\BlogProject\manage.py", line 28, in
manager.run()
File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\flask_script_init
.py", line 417, in run
result = self.handle(argv[0], argv[1:])
File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\flask_script_init.py", line 353, in handle
app_parser = self.create_parser(prog)
File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\flask_script_init
.py", line 196, in create_parser
command_parser = command.create_parser(name, func_stack=func_stack, parent=self)
AttributeError: 'MigrateCommand' object has no attribute 'create_parser'

  • 写回答

1条回答 默认 最新

  • llc的足迹 2022-06-10 17:27
    关注
    获得5.00元问题酬金

    现在都用flask runflask_script这个项目已经不维护了,flask_migrate还在维护,应该是新版本去除了对flask_script的支持

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 6月18日
  • 创建了问题 6月10日

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题