您的位置:首页 > 其它

第十三章: flask_migrate 的介绍与安装与使用

2019-03-01 21:19 155 查看
版权声明:原创,如有需要,请标明文章出处,写写合作 https://blog.csdn.net/bingdianerer/article/details/88068670

flask_migrate 的介绍与安装与使用

  • 什么是

    flask_migrate
    ?

    flask_migrate
    是处理
    sqlalchemy
    数据迁移的工具。

  • flask_migrate
    有什么用?

    flask_migrate
    是当数据模型发生变化的时候,将修改后的东西重新映射到数据库中。

  • flask_migrate
    怎么安装?

    pip install flask_migrate

  • flask_migrate
    怎么使用 ?

    config.py
SQLALCHEMY_DATABASE_URI='mysql+pymysql://root:root@127.0.0.1:3306/test?charset=utf8'
  • exts.py
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
db = SQLAlchemy()
class Label(db.Model):
__tablename__ = 'label'
id = db.Column(db.Integer,autoincrement=True,primary_key=True)
name = db.Column(db.String(32),nullable=False)
uid = db.Column(db.Integer)
create_time = db.Column(db.DateTime,default=datetime.now())
__table_args__ = {
'mysql_charset':'utf8'
}
  • db_manager.py
from flask import Flask
from exts import db
app = Flask(__name__)
app.config.from_object('config')
db.init_app(app=app)
  • manager.py
from flask_script import Manager
from db_manager import app
from exts import db
from flask_migrate import MigrateCommand,Migrate
from exts import Label
manager = Manager(app)
# Migrate() 需要绑定app 和 db
migrate = Migrate(app,db)
# 子命令  MigrateCommand 包含三个方法 init migrate upgrade
manager.add_command('db',MigrateCommand)

if __name__ == '__main__':
manager.run()
  • 运行
> python manager.py db init
> python manager.py db migrate
> python manager.py db upgrade
  • 如果模型
    exts.py
    中有改动,继续运行上面那三条命令即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: