概述:Flask使用2.0版本之后,不支持MigrateCommnd命令
解决方法
- demo目录结构
说明:
DEBUG = True
DIALECT = 'mysql'
DRIVER = 'mysqldb'
USERNAME = '用户名'
PASSWORD = '密码'
HOST = '127.0.0.1'
PORT = '3306'
DATABSE = '数据库'
SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT,DRIVER,USERNAME,PASSWORD,HOST,PORT,DATABSE)
SQLALCHEMY_TRACK_MODIFICATIONS = False
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
app.config.from_object(config)
db.init_app(app)
migrate = Migrate(app,db)
@app.route('/')
def hello_world():
engine = db.get_engine()
with engine.connect() as conn:
result = conn.execute("select 1")
print(result.fetchone())
return 'Hello World!'
if __name__ == '__main__':
app.run()
- 打开命令行窗口(这里使用的pycharm自带的)
-
因为主程序不是在app.py 文件中,所以需要指定主文件 set FLASK_APP=Flask_migrate_demo.py
-
使用 flask db init
flask db migrate
flask db upgrade
会在数据库中形成以下两个表
|