首先需要先安装flask-sqlacodegen。
然后在工程目录下执行此命令:
flask-sqlacodegen "mysql+pymysql://xx:passwd@host/schema_name" --tables user --outfile " models.py" --flask
这里的—tables user是指定特定表使用的,如不添加此参数,则可以生成所有的models
自动生成Model
1、通过数据库表结构生成orm的model,使用flask-sqlacodegen
在根目录下执行命令,flask-sqlacodegen需要在环境变量中:
flask-sqlacodegen “mysql+pymysql://xx:passwd@host/schema_name” —tables user —outfile “common/models/user.py” —flask
执行完毕后,出现了这么一组warning:
c:\programdata\anaconda3\lib\site-packages\pymysql\cursors.py:170: Warning: (1287, "'@@tx_isolation' is deprecated and will be removed in a future release. Please use '@@transaction_isolation' instead")
result = self._query(query)
执行完毕后,发生了一件很神奇的事情:
自动重写了我的user.py文件
但是老师说这里指定把上面的这些东西删掉,然后改为:
这就通过数据库生成了orm的model表结构。
2、通过model生成数据库表结果
引入User文件
db.Model = User
db.create_all()
这里的db.create_all()老师是在启动文件中使用的。