1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| 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 setup.py db init:初始化
python setup.py db migrate:生成迁移脚本
python setup.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:root@127.0.0.1/swzl' --table table --outfile "app/models/user_model.py" --flask
flask-sqlacodegen mysql://root:root@127.0.0.1/swzl --outfile all.py flask-sqlacodegen mysql://root:root@127.0.0.1/swzl --tables t_user --outfile User.py
flask-sqlacodegen 'mysql://root:root@127.0.0.1/swzl' --tables t_user --outfile "app/models/user_model.py" --flask
flask-sqlacodegen mysql://root:@127.0.0.1/db_name --tables user --outfile "models/user.py" --flask
|