2016-03-14 46 views
1

我刚开始构建我的web应用程序,从金字塔教程开始工作。金字塔SQLAlchemy数据库更改在重新加载时消失

当我将项目添加到我的数据库,它被正确地坚持着,但是当我改变金字塔的东西,需要重新启动服务器

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

我所有的更改都将丢失。有谁知道为什么发生这种情况?

我改变了initialize_db.py脚本构建一个演示数据库,并改变了sessionmaker到

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

我试过session.commit()session.flush(),没有运气。

+0

你下面哪个教程? –

+0

表面上的快速教程http://docs.pylonsproject.org/projects/pyramid/en/latest/quick_tutorial/index.html。我之前已经完成了,所以我只是将它作为开始使用的基础。 – Niel

+0

我使用ORM,但你的答案是正确的,谢谢! – Niel

回答

2

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

E.g.如果您按照wiki2,assumes您使用alchemy脚手架创建的最小项目pcreate

在任何情况下,请确保development.ini that you're using contains

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

听起来可能,但我确实使用炼金术脚手架开始。我怎样才能检查'pyramid_tm'没有配置? – Niel

+1

确实,我没有'pyramid_tm'在那里。当我拼命教导教程时,它一定会迷失方向。谢谢! – Niel

相关问题