from flask import Flask,render_template from flask_sqlalchemy import SQLAlchemy from sqlalchemy import text from flask_migrate import Migrate HOSTNAME="127.0.0.1" PORT=3306 USERNAME="root" PASSWORD="root" DATABASE="database_learn" app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI']=f"mysql+pymysql://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}?charset=utf8" db = SQLAlchemy(app) Migrate(app,db) //传递app和db变量创建一个Migrate对象。 class User(db.Model): __tablename__="user" id=db.Column(db.Integer,primary_key=True,autoincrement=True) username=db.Column(db.String(100)) password=db.Column(db.String(100)) with app.app_context(): with db.engine.connect() as conn: rs=conn.execute(text("select 1")) print(rs.fetchone()) #db.create_all() if __name__ == '__main__': app.run()
Pycharm底部控制台执行如下命令:flask db init 初始化迁移环境,flask db migrate 生成迁移脚本,flask db upgrade 执行迁移脚本。
Flask版本2.2.5,Flask-Migrate版本 4.0.7,Jinja2版本3.1.3,flask-sqlalchemy版本号3.0.5,PyMySQL版本号1.1.0,WTForms版本号3.0.1 ,flask-wtf版本号1.1.1
pip install celery==3.1.25(异步任务)