金字塔SQLAlchemy数据库更改在重新加载时消失

时间:2016-03-14 21:14:55

标签: python sqlalchemy pyramid

我刚从金字塔教程开始构建我的webapp。

当我将一个项目添加到我的数据库时,它会被正确保留,但是当我在金字塔中更改某些内容并需要重新启动服务器时

$VENV/bin/pserve development.ini --reload

我所有的改变都丢失了。有谁知道为什么会这样?

我更改了initialize_db.py脚本以构建演示数据库,并将sessionmaker更改为

session = scoped_session(sessionmaker(extension=ZopeTransactionExtension('changed')))

我已经尝试了session.commit()session.flush(),但没有运气。

1 个答案:

答案 0 :(得分:2)

你应该也配置了pyramid_tm(事务管理器);它是实际提交更改的那个。现在看起来你没有提交更改/只是重复使用同一个脏的未提交会话从请求到另一个。

E.g。如果您使用pcreate脚手架,wiki2assumes使用alchemy创建了最小项目。

无论如何,请确保development.ini that you're using contains

pyramid.includes =
    pyramid_debugtoolbar
    pyramid_tm                 <--- this here