Flask利用flask

    xiaoxiao2024-11-02  83

    Flask 提供了flask_migrate 来进行数据库迁移,用于:

    数据模型里修改了模型字段后进行更新数据库

    一怎么用?

    引入两个库:没有的话去pip install 一下

    ##数据库迁移版本的建立和迁移 from flask_migrate import Migrate,MigrateCommand from flask_script import Manager,Shell

    注册到app里并建立关系

    *下面的 sqlchermydb 是我外部模型里创建的一个db对象名称

    model模型py文件:

    """ """ from sqlalchemy import Column, Integer, String from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() class t_fields(db.Model): _id = Column(Integer, primary_key=True, autoincrement=True) field_name = Column(String(50), nullable=False) order_value = Column(String(50), nullable=False) flag = Column(Integer,nullable=False) field_ts = Column(String(50)) # MVC M Model 只有数据 = 数据表 # ORM 对象关系映射 Code First

     app注册的py文件:

    app.config.from_object('config') sqlchermydb.init_app(app) manager = Manager(app) migrate = Migrate(app, sqlchermydb) manager.add_command('sqlchermydb', MigrateCommand)

    最后,为这个py执行文件添加执行:

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

    二、三个脚本命令:具体的各个命令产生的意义可自行百度,网络有很具体的了!

    >>> python test.py sqlchermydb init

    >>> python test.py db migrate

    >>> python test.py db upgrade

    依次运行就可以了!

    三、坑:

    1、模型一定要建立完整,每一个模型对应好数据库里面的每一张表!不然更新迁移的时候 ,没有对应的模型的表会删除!

    2、数据库里有外键索引关系的,可先删除这个外键索引,不然迁移脚本执行不了!

    最新回复(0)