Symfony 1.2 + Propel 1.3 + Oracle (Parte 2)
Ahora que ya tenemos el módulo PDO_OCI funcionando, podemos intentar hacer una prueba en Symfony 1.2 con Propel 1.3. Después de dar muchas vueltas, he llegado a la conclusión de que el formato para databases.yml es el siguiente:
all:propel:
class: sfPropelDatabase
param:
classname: PropelPDO
phptype: oracle
dsn: oci:dbname=//%IP_DEL_SERVIDOR%:%PUERTO_DEL_SERVIDOR%/%BASE_DE_DATOS%
username: %USUARIO%
password: %CONTRASEÑA%
encoding: utf8
persistent: true
pooling: true
(No consigo que el maldito WordPress indente correctamente el código anterior así que recuerda que la jerarquía es: all >> propel >> param >> resto)
El formato de propel.ini sería el siguiente:
propel.database = oraclepropel.database.driver = oracle
propel.database.url = oci:
dbname=//%IP_DEL_SERVIDOR%:%PUERTO_DEL_SERVIDOR%/%BASE_DE_DATOS%
propel.database.creole.url = ${propel.database.url}propel.database.user =
%USUARIO%
propel.database.password =%CONTRASEÑA%
propel.database.encoding = utf8
Lo último que necesitas para que la ingeniería inversa funcione es un parseador de estructura de base de datos para bases de datos de Oracle. Propel 1.3 no trae uno, así que puedes usar el que un servidor ha preparado convenientemente: Oracle Schema Parser (PHP5 script) (Bórrale la extensión "doc" y déjalo en un directorio "lib/plugins/sfPropelPlugin/lib/vendor/propel-generator/classes/propel/engine/database/reverse/oracle" nuevo que tienes que crear en la instalación de Symfony).
Con esto y un bizcocho, ya deberías ser capaz de ejecutar la tarea "propel:build-schema" :)
