Atualmente ando fazendo um teste com outro ORM: o Doctrine. Para quem não conhece, ORM (Object-Relational Mapping, ou Mapeamento Objeto-Relacional) é uma interface que implementa todos os métodos de acesso ao banco de dados, busca e alteraçao de registros, traduzindo-os para o conceito de Objetos.
Estou gostando bastante dos resultados em comparação com o Propel. Abaixo, demonstro como fazer uma conexão utilizando o banco de dados oracle 10g xe.
config/databases.yml
all:
doctrine:
class: sfDoctrineDatabase
param:
dsn: ‘oci:host=localhost;dbname=xe;charset=AL32UTF8′
username: root
password: teste
Lembre-se de estar com a extensão pdo_oci ativa no php.
Feito isso basta dar um doctrine:build-schema para que ele gere o arquivo schema.yml contendo o mapeamento e o doctrine:build-model para gerar os modelos.
Espero que essa dica seja útil.