zoukankan      html  css  js  c++  java
  • Flask-sqlacodegen之ORM操作

    Flask-sqlacodegen之ORM操作有两种方式:

    1.模型迁移到数据库中生成表(codefirst):

    需要flask-script:

    from flask_script import Manager
    from flask_migrate import Migrate ,MigrateCommand
    from flask import Flask
    
    app = Flask(__name__)
    manager = Manager(app)  # 注册App到脚本
    Migrate(app,db)         # 注册App和ORM对象
    manager.add_command('db',MigrateCommand)  # db为命令 即执行python manager.py db 命令

    代码中编写models.py后执行命令

    python app.py db init        #初始化
    python app.py db migrate #生成迁移脚本
    python app.py db upgrade #映射到数据库

    2.已经有建好的数据库及表,根据表反向生成model模型(dbfirst):

    安装相关扩展包:pymysql、flask-sqlacodegen

    pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple
    pip install flask-sqlacodegen -i https://pypi.tuna.tsinghua.edu.cn/simple

    使用window环境下:

    # 整体映射database数据库并写入model.py文件
    flask-sqlacodegen 
    mysql://username:password@127.0.0.1/database 
    --outfile 'model.py' 
    --flask
    
    # 映射table数据表并写入table.py文件
    flask-sqlacodegen 
    mysql://username:password@127.0.0.1/database 
    --table table 
    --outfile 'model.py' 
    --flask
    事例如下:
    第一步 flask
    -sqlacodegen mysql://root:123456@127.0.0.1:3306/pawnxc --outfile "models/model.py" --flask
    第二步
    #根据指定的表名,从数据库中反向成相应表 flask-sqlacodegen mysql://root:123456@127.0.0.1:3306/pawnxc --tables pawn_dl --outfile "models/dl.py" --flask #一次性从数据库中反向成所有表 flask-sqlacodegen mysql://root:123456@127.0.0.1:3306/pawnxc --outfile "models/model.py" --flask
    注:models/model.py————models下的model.py文件在代码执行后自动生成
  • 相关阅读:
    实体机可以ping通虚拟机,虚拟机ping不通实体机
    实体机可以ping通虚拟机,虚拟机ping不通实体机
    eclipse快捷键
    eclipse快捷键
    利用信号捕捉函数回收子进程
    进程间通信_信号
    进程间通信_管道
    创建子进程
    系统编程入门
    JPG库移植与使用
  • 原文地址:https://www.cnblogs.com/hzjdpawn/p/12484792.html
Copyright © 2011-2022 走看看