我主要在我的烧瓶应用程序中使用原始sqlite表达式。我最近开始玩flask-SQLAlchemy。我想知道在我的应用程序中使用sqlalchemy而不是RAW sqlite表达式的主要优点是什么。我知道使用ORM我没有锁定在一个数据库引擎中,我可以切换到Mysql,例如不更改ORM代码。还有其他优点吗?
在我的烧瓶应用程序中,我使用:
from flask import g
import sqlite3
@app.before_request
def before_request():
g.db = sqlite3.connect(DATA_DIR + "/myDB.db")
@app.teardown_request
def teardown_request(exception):
if hasattr(g, 'db'):
g.db.close()
在这种情况下,当我想更改数据库结构时,我只需使用像Navicat这样的智能应用程序,然后更新原始语句。在SQLAlchemy中,改变结构几乎没有什么痛苦。非常感谢你提前。
答案 0 :(得分:1)
使数据访问更加抽象和便携。 ORM实现类知道如何编写特定于供应商的SQL,因此您不必这样做。 (比尔卡文)