Propel 1.3 ya puede inspeccionar Oracle
Gracias a unos cambios en Propel 1.3 en los que he estado currando por necesidad, he podido contribuir al magnífico proyecto Propel y me han hecho comitter en su SVN para temas de Oracle, a pesar de que soy un novato en el área.
A partir de ahora, si necesitáis trabajar contra Oracle con Propel, podréis realizar tareas de ingeniería inversa para generar el modelo a partir de una base de datos viva con los cambios del changeset 1107 de la versión 1.3 de Propel (http://propel.phpdb.org/trac/changeset/1107).
Huelga decir que supone un gran honor para mi el poder realizar esta aportación y que estoy muy contento por ello.
Si encontráis cualquier problema avisad!
Symfony 1.2 + Propel 1.3 + Oracle (Parte 2) « Tribulaciones de un Informático dijo:
25 Febrero 2009 a 16:57
[...] 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 [...]
mppfiles dijo:
5 Marzo 2009 a 4:26
¿Cualquier problema? No me alcanzaría el cuadrito de texto para ponerlos todos!
Es increíble lo verde que está Propel en este asunto, enhorabuena que alguien se haya preocupado con este tema.
De entre tantos problemas que tengo (o tuve), puedo mencionar:
1) Los nombres de tablas deben estar sí o sí en mayúsculas
2) Los nombres de los campos DEBEN definirse con minúsculas y/o sin tildar el “preserve case” en ApEx (o sin encerrar los nombres de los campos entre comillas)
3) En varias ocasiones me han salido errores extraños del tipo: “duplicate table found: propel” y otros mas extraños aun, tuve que borrar los generated-schema*.yml y volver a construir el esquema y el modelo para que camine.
4) Al generar los forms, los nombres de los widgets se ponen en minusculas, lo que genera problemas al guardarlos despues (porque definimos previamente que sean mayusculas)
5) Ahora estoy peleando con los campos de tipo fecha. Al parecer el Oracle que tengo instalado (XE bajo Windows) maneja las fechas en formato “d/m/Y” o dd/MM/YYYY (o equivalentes), en definitiva: fechas en español) y me salen errores del tipo “Unable to execute INSERT statement. [wrapped: SQLSTATE[HY000]: General error: 1861 OCIStmtExecute: ORA-01861: el literal no coincide con la cadena de formato”, pensaba que tenía que ver con el formato ISO de los validators (Y-m-d, o YYYY/MM/DD o como sea), y aunque cambié el valor de
$this->validatorSchema['FECHA_NAC']->setOption(‘date_output’,'d/m/Y’)
al hacer $form->getValues() lo muestra con ese formato, pero Propel insiste en guardar el valor en la base con el formato ISO, lo cual me parece mas que bien.
…y hasta acá llegué por ahora.
CUALQUIER variación de estos puntos supone resultados absolutamente dispares e inesperados al intentar generar un crud y cosas así.
A pesar de todo, repito, me alegro que alguien haya comenzado a investigar sobre esto, hay muy poco en la red sobre symfony + Oracle, me refiero a material actualizado y no el artículo obsoleto que hay en la página de Oracle.
Éxitos y estamos en contacto!
Problemas (casi)resueltos de Propel (Symfony) y Oracle « Tribulaciones de un Informático dijo:
5 Marzo 2009 a 9:34
[...] Marzo 2009 at 9:34 (3 – Normal) Acaban de dejarme un comentario al post: Propel 1.3 ya puede inspeccionar Oracle digno de ser respondido como dios manda. Os pongo el extracto de una serie de preguntas que plantea [...]