debugモードでzodbの書き換え
Ploneで各オブジェクトの議論の許可を一斉変更しようとしたときのテストのメモ。
プロダクトのインストールスクリプトの中でやるのがいいのだろうが面倒なのでZopeをデバッグモードで起動させてそこで書き換えた。そんな難しいわけでもない。
$ ./bin/plonectl debug instance: Starting debugger (the name "app" is bound to the top-level Zope object) >>> from Products.CMFCore.utils import getToolByName >>> catalog = getToolByName(app.Plone, 'portal_catalog') >>> es = catalog(portal_type='Document', path='/Plone/blog') >>> len(es) 1 >>> o = es[0].getObject() >>> o.allow_discussion False >>> o.allow_discussion = True >>> import transaction >>> transaction.commit()
こんな感じ。