flask项目中使用flask-migrate管理mysql

记录

#-*- coding:utf-8 -*-
#filename: manage.py
from flask import Flask, request
from flask_migrate import Migrate, MigrateCommand
from flask_script import Manager
from flask_sqlalchemy import SQLAlchemy
from flask_cors import *  # 导入模块

app = Flask(__name__)
CORS(app, supports_credentials=True)  # 设置跨域
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+mysqlconnector://root:python@127.0.0.1:3306/myflask?charset=utf8'
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
app.config['SQLALCHEMY_COMMIT_TEARDOWN'] = True
db = SQLAlchemy(app)
manager = Manager(app)
migrate = Migrate(app, db)
manager.add_command("db", MigrateCommand)

class Students(db.Model):
    __tablename__ = 'students'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(20))
    age = db.Column(db.Integer)
    classId = db.Column(db.Integer)
    salary = db.Column(db.String(10))
    desc = db.Column(db.String(10))
    sex = db.Column(
        db.Enum("男", "女", "保密"),
        default="男"
    )

if __name__ == "__main__":
    # app.run()
    manager.run()

管理数据库的命令

python3 manage.py db init   # 初始化仓库
python3 manage.py db migrate  # 迁移
python3 mange.py db upgrade  # 升级
python3 mange.py db --help

遇到问题

  1. 迁移或升级数据库遇到1366的问题 , 之前用的是 第一个配置,结运行时出现了问题,更改第二个后,这个问题就解决了
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:python@127.0.0.1:3306/myflask?charset=utf8'
# 将上述的配置信息改为
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+mysqlconnector://root:python@127.0.0.1:3306/myflask?charset=utf8'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值