Flask-sqlacodegen
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的更多相关文章
- Flask学习之旅--还是数据库(sqlacodegen + SQL Alchemy)
		一.写在前面 其实之前已经写过一篇关于 Flask 中使用数据库的博客了,不过那一篇博客主要是记录我在使用 Flask + MySQL8.0 时所遇到的一些问题(如果用的不是 MySQL8.0估计就没 ... 
- flask从数据库反向导入Model以及出现报错No module named sqlacodegen.main
		使用flask的朋友肯定了解了flask_sqlalchemy,不了解的小伙伴也可以查看博文:Flask 操作Mysql数据库 - flask-sqlalchemy扩展 上面博文中讲解了如何将flas ... 
- flask再学习-思考之怎么从数据库中查询数据在页面展示!
		看别人视频觉得很简单,要自己做蒙蔽了!这样子.NO! 1. 流程: 首先要有和数据库连接的驱动!一般有PYMySQL mysqlclient 等 使用扩展Flask-SQLAlchemy 获得orm对 ... 
- django 与 flask里面从已有数据库表中反向生成models
		django: 配置好数据库连接 python manage.py inspectdb > models.py 即可反向生成orm使用的models, 注意: > 后面可以定义为指定路 ... 
- 【python】用 sqlacodegen 将存在的数据库表 转化成model.py
		Flask的sqlalchemy对数据库表的模型提供了很多易用的方法.为了使用这些内容,需要将数据库表按照Flask识别的格式创建成Model,但是一般我们都是在已经创建好的数据库环境中开发Pytho ... 
- flask初次搭建rest服务笔记
		官网中有用的记录一下,太多只是记录了最简单的官网docs:http://flask.pocoo.org/docs/0.12/ 跑起来一个程序 $ export FLASK_APP=hello.py $ ... 
- Flask中可以利用Flask-SQLAlchemy
		为什么80%的码农都做不了架构师?>>> 官方文档:http://flask-sqlalchemy.pocoo.org/2.3/ 1.安装(进入虚拟环境)--利用镜像安装PyMy ... 
- flask+sqlite3+echarts2+ajax数据可视化
		前提: 准备Python + Flask+Sqlite3的平台环境(windows系统) 前面一节介绍flask怎么安装了,剩下sqlite3下载后解压,然后环境变量添加解压路径就行了 附加下载地址: ... 
- flask+sqlite3+echarts2+ajax数据可视化报错:UnicodeDecodeError: 'utf8' codec can't decode byte解决方法
		flask+sqlite3+echarts2+ajax数据可视化报错: UnicodeDecodeError: 'utf8' codec can't decode byte 解决方法: 将 py文件和 ... 
- Windows下快速安装Flask的一次经历
		前提: 1.已安装python版本(一般都是2.X) 2.已安装easy_install python安装,记得配置Python的环境变量,例如:我的直接在Path上加 G:\Python 验证安装P ... 
随机推荐
- BZOJ1816 CQOI2010 扑克牌 贪心
			题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=1816 题意:有$N$堆牌,第$i$堆牌有$c_i$张牌,还有$M$张$joker$,每 ... 
- .NET Core 3.0 跟踪
			Preview1: https://blogs.msdn.microsoft.com/dotnet/2018/12/04/announcing-net-core-3-preview-1-and-ope ... 
- WPF 滚动文字控件MarqueeControl
			原文:WPF 滚动文字控件MarqueeControl WPF使用的滚动文字控件,支持上下左右滚动方式,支持设置滚动速度 XAML部分: <UserControl x:Class="U ... 
- select 下拉选中
			<body> <select name="" id=""> <option value="">张三< ... 
- 汇编 LOOP,LOOPD指令
			一.LOOP指令 循环控制指令LOOP 格式: LOOP 标号 loopd 功能: 1.ECX=ECX-1 2.(ECX)<>0,则转移至标号处循环执行 3.直至(ECX)=0,继续执行后 ... 
- 移动端自动化测试-WTF Appium?
			手机App分为两大类,原生App(Native App)和混合APP(Hybrid App) 原生App(Native App) 原生App实际就是我们所常见的传统App开发模式,云端数据存储+App ... 
- Oracle_安装问题
			[INS-07003] 访问 BeanStore 时出现意外错误 oracle安装时出现以下问题: 原因:未配置环境变量CLASSPASH 解决方法:新增系统变量,在我的电脑上右击-属性-高级系统 ... 
- CentOS6下OpenLDAP+PhpLdapAdmin基本安装及主从/主主高可用模式部署记录
			下面测试的部署机ip地址为:192.168.10.2051)yum安装OpenLDAP [root@openldap-server ~]# yum install openldap openldap- ... 
- WinForm多线程+委托防止界面假死
			当有大量数据需要计算.显示在界面或者调用sleep函数时,容易导致界面卡死,可以采用多线程加委托的方法解决 using System; using System.Collections.Generic ... 
- BZOJ3782 上学路线
			设障碍个数为,\(obs\)则一般的容斥复杂度为\(O(2^{obs})\).但因为这个题是网格图,我们可以用DP解.设\(f[i]\)表示不经过任何障碍到达第\(i\)个障碍的方案数,转移时枚举可以 ... 
