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一下就好了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM