3.
Instalação no Zope
Um nível acima
Você pode instalar o RelStorage usando easy_install:
easy_install RelStorageSe você não está usando easy_install (parte do pacote setuptools), você pode conseguir a última release no PyPI (http://pypi.python.org/pypi/RelStorage), então instale o pacote relstorage no diretório lib/python de um ou outro SOFTWARE_HOME ou da INSTANCE_HOME. Você pode fazer isso como o seguinte comando:
python2.4 setup.py install --install-lib=${INSTANCE_HOME}/lib/python
Antes de você poder usar o RelStorage, ZODB precisa ter o patch de invalidação de checagem aplicado. Obtenha-o no Subversion (http://svn.zope.org/relstorage/trunk/). Há duas versões do patch: uma para ZODB 3.7.1 (que é parte do Zope 2.10.5) e outra para ZODB 3.8.0 (que é parte do Zope 2.11). O patch não tem efeito no ZODB exceto quando se está usando o RelStorage. Esperamos, uma futura release de ZODB que irá incluir esta característica.
Você precisa de um adaptador de banco de dados para o Python que corresponda com seu banco de dados. Instale psycopg2, MySQLdb 1.2.2+, ou cx_Oracle 4.3+. Note que o Debian Etch disponibiliza MySQLdb 1.2.1, mas esta versão tem um bug na manipulação de BLOB que se manifesta somente com certas configurações de caracteres. MySQLdb 1.2.2 corrige o bug. Também, MySQL 5.1.23 tem bugs maiores que levam a perda de dados quando é feito o packing, assim MySQL 5.1 não é recomendado neste momento.
Finalmente,
modifique o etc/zope.conf de sua instância de Zope. Remova o ponto de
montagem principal e adicione um dos seguintes blocos. Para PostgreSQL:
%import relstorage
<zodb_db main>
mount-point /
<relstorage>
<postgresql>
# O dsn é opcional, assim como são cada parametro no dsn.
dsn dbname='zodb' user='username' host='localhost' password='pass'
</postgresql>
</relstorage>
</zodb_db>
Para MySQL:
%import relstorage<zodb_db main>
mount-point /
<relstorage>
<mysql>
# A maioria das opções providas pelo MySQLdb estão disponíveis.
# Consulte component.xml.
db zodb
</mysql>
</relstorage>
</zodb_db>
Para Oracle (10g XE neste exemplo):
%import relstorage
<zodb_db main>
mount-point /
<relstorage>
<oracle>
user username
password pass
dsn XE
</oracle>
</relstorage>
</zodb_db>