ORM操作有两种方式。

1.模型迁移到数据库中生成表,codefirst:使用flask-migrate:

需要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 命令
python manager.py db init:初始化
python manager.py db migrate:生成迁移脚本
python manager.py db upgrade:映射到数据库
 
 
 
 

2.已经建好数据库==>模型:使用flask-sqlacodegen:

安装:pip install flask-sqlacodegen

使用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:@127.0.0.1/db_name --outfile "models/model.py"  --flask

flask-sqlacodegen mysql://root:@127.0.0.1/db_name --tables user --outfile "models/user.py"  --flask

常见的一些问题:

1.执行migrate命令时候出现如下错误,是因为没有检测到models模块的存在,可以在注册蓝图的代码中导入下models

2.出现 ERROR [alembic.env] Can't locate revision identified by 'a21a614f5bbc'

删掉数据库中的表: alembic_version

3.出现找不到路径,重新init一下就好了

Flask-sqlacodegen的更多相关文章

  1. Flask学习之旅--还是数据库(sqlacodegen + SQL Alchemy)

    一.写在前面 其实之前已经写过一篇关于 Flask 中使用数据库的博客了,不过那一篇博客主要是记录我在使用 Flask + MySQL8.0 时所遇到的一些问题(如果用的不是 MySQL8.0估计就没 ...

  2. flask从数据库反向导入Model以及出现报错No module named sqlacodegen.main

    使用flask的朋友肯定了解了flask_sqlalchemy,不了解的小伙伴也可以查看博文:Flask 操作Mysql数据库 - flask-sqlalchemy扩展 上面博文中讲解了如何将flas ...

  3. flask再学习-思考之怎么从数据库中查询数据在页面展示!

    看别人视频觉得很简单,要自己做蒙蔽了!这样子.NO! 1. 流程: 首先要有和数据库连接的驱动!一般有PYMySQL mysqlclient 等 使用扩展Flask-SQLAlchemy 获得orm对 ...

  4. django 与 flask里面从已有数据库表中反向生成models

    django: 配置好数据库连接 python manage.py  inspectdb  > models.py 即可反向生成orm使用的models, 注意: > 后面可以定义为指定路 ...

  5. 【python】用 sqlacodegen 将存在的数据库表 转化成model.py

    Flask的sqlalchemy对数据库表的模型提供了很多易用的方法.为了使用这些内容,需要将数据库表按照Flask识别的格式创建成Model,但是一般我们都是在已经创建好的数据库环境中开发Pytho ...

  6. flask初次搭建rest服务笔记

    官网中有用的记录一下,太多只是记录了最简单的官网docs:http://flask.pocoo.org/docs/0.12/ 跑起来一个程序 $ export FLASK_APP=hello.py $ ...

  7. Flask中可以利用Flask-SQLAlchemy

    为什么80%的码农都做不了架构师?>>>   官方文档:http://flask-sqlalchemy.pocoo.org/2.3/ 1.安装(进入虚拟环境)--利用镜像安装PyMy ...

  8. flask+sqlite3+echarts2+ajax数据可视化

    前提: 准备Python + Flask+Sqlite3的平台环境(windows系统) 前面一节介绍flask怎么安装了,剩下sqlite3下载后解压,然后环境变量添加解压路径就行了 附加下载地址: ...

  9. flask+sqlite3+echarts2+ajax数据可视化报错:UnicodeDecodeError: 'utf8' codec can't decode byte解决方法

    flask+sqlite3+echarts2+ajax数据可视化报错: UnicodeDecodeError: 'utf8' codec can't decode byte 解决方法: 将 py文件和 ...

  10. Windows下快速安装Flask的一次经历

    前提: 1.已安装python版本(一般都是2.X) 2.已安装easy_install python安装,记得配置Python的环境变量,例如:我的直接在Path上加 G:\Python 验证安装P ...

随机推荐

  1. Spring对JSON请求加解密

    Spring中处理JSON请求通常使用@RequestBody和@ResponseBody注解,针对JSON请求加解密和过滤字符串,Spring提供了RequestBodyAdvice和Respons ...

  2. Yarn 入门

    Yarn 是快速.可靠.安全的 js 包管理器. 关键词: nodejs, 包管理, yarn 简介 Yarn 是快速.可靠.安全的 js 包管理器. 快速 - Yarn 会缓存它下载的每个包,所以无 ...

  3. Luogu4022 CTSC2012 熟悉的文章 广义SAM、二分答案、单调队列

    传送门 先将所有模板串扔进广义SAM.发现作文的\(L0\)具有单调性,即\(L0\)更小不会影响答案,所以二分答案. 假设当前二分的值为\(mid\),将当前的作文放到广义SAM上匹配. 设对于第\ ...

  4. Luogu P2279 [HNOI2003]消防局的设立

    这真的是一道SB题.去你的树形DP 我们看到题目就开始考虑贪心,怎么搞? 一个显然的思路,每次找出一个深度最大且未被覆盖的点,然后建一个消防局? 但这样的话,动用简单的人类思维就可以知道:我TM的还不 ...

  5. 《RabbitMQ Tutorial》译文 第 1 章 简介

    原文来自 RabbitMQ 英文官网的教程(1.Introduction),其示例代码采用了 .NET C# 语言. RabbitMQ is a message broker: it accepts ...

  6. Sql_索引分析

    「索引就像书的目录, 通过书的目录就准确的定位到了书籍具体的内容」,这句话描述的非常正确, 但就像脱了裤子放屁,说了跟没说一样,通过目录查找书的内容自然是要比一页一页的翻书找来的快,同样使用的索引的人 ...

  7. 2018年高教社杯全国大学生数学建模竞赛D题解题思路

    题目 D题   汽车总装线的配置问题 一.问题背景 某汽车公司生产多种型号的汽车,每种型号由品牌.配置.动力.驱动.颜色5种属性确定.品牌分为A1和A2两种,配置分为B1.B2.B3.B4.B5和B6 ...

  8. Python_装饰器_29

    # 装饰器形成的过程 : 最简单的装饰器 有返回值的 有一个参数 万能参数 # 装饰器的作用 # 原则 :开放封闭原则 # 语法糖 :@ # 装饰器的固定模式 import time # print( ...

  9. PAT甲级题解-1066. Root of AVL Tree (25)-AVL树模板题

    博主欢迎转载,但请给出本文链接,我尊重你,你尊重我,谢谢~http://www.cnblogs.com/chenxiwenruo/p/6803291.html特别不喜欢那些随便转载别人的原创文章又不给 ...

  10. Flask、Celery、RabbitMQ学习计划

    Flask (9.16-9.23) 相关组件了解 (9.16-17) WSGI:Werkzeug 数据库:SQLAlchemy   *重点查看 urls和视图 (9.18-19) session和co ...