【发布时间】:2017-07-14 20:01:52
【问题描述】:
我按照快速入门页面中提供的说明进行操作 http://flask-sqlalchemy.pocoo.org/2.1/quickstart/#quickstart。 但即使在执行 autoflush : false 和 autocommit : false 之后,每次我退出终端时数据库都会被删除。
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
db = SQLAlchemy(app, session_options={"autoflush":False,"autocommit":False})
在此配置之后,每次我退出烧瓶终端时,数据库数据仍然存在 被删除!
>>> users = User.query.all()
[<User u'admin'>, <User u'guest'>]
>>> admin = User.query.filter_by(username='admin').first()
<User u'admin'>
每次我退出烧瓶终端时,整个用户表都消失了!
PS:非常感谢任何具有基于烧瓶和角度令牌的身份验证的博客 :) 以及 SQLAlchemy 设置!
【问题讨论】:
-
您是否将创建的对象添加到会话并提交会话?你能发布整个代码吗?是否在应用程序运行时检查数据是否写入数据库?
-
帮助他人帮助你并提供minimal reproducible example。
-
@IljaEverilä 解决了,我使用了 Schema 和 db.Model 一切都很顺利,我正在执行 db.session.commit,但它仍然在删除它。
-
@PerunSS 我已经做到了!但问题是另一回事。
标签: python python-3.x sqlite flask flask-sqlalchemy