Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Frameworks y PHP orientado a objetos (http://www.forosdelweb.com/f68/)
-   -   Ayuda con ActiveRevord- ActiveTable con PostGres (http://www.forosdelweb.com/f68/ayuda-con-activerevord-activetable-con-postgres-565147/)

mecano 11/03/2008 20:12

Ayuda con ActiveRevord- ActiveTable con PostGres
 
Hola... nuevamente...

Sigo practicando esto de los patrones de desarrollo de aplicaciones y quisiera saber si alguien ha implementado o a podido implementar el patrón ACTIVETABLE - ACTIVERECORD en una base de datos en POSTGRES

yo he visto y probado en MYSQL pero por mas que he neceado no he podio hacerlo funcionar y terminé optando por una clase pasarela preemsamblada de postgres "WRAPPER"....

alguien me puede indicar como hacer una implentacion de estos dos patrones sin morir en el intento en POSTGRES :-)

GRACIAS!!!!! de ante mano

zsamer 11/03/2008 20:24

Re: Ayuda con ActiveRevord- ActiveTable con PostGres
 
Puedes implementar el platron utilizando PDO (PHP Data Objects) es una extensión de PHP5 que provee una capa de abstracción de acceso a datos para PHP 5, con lo cual se consigue hacer uso de las mismas funciones para hacer consultas y obtener datos de distintos manejadores de bases de datos.

Zend Framework incorpora el patron Table Data Gateway muy similar a (ActiveTable - ActiveRecord), está implementado con PDO.

Tambien tienes un ejemplo con PDO de GatorV

mecano 12/03/2008 07:23

Ayuda con ActiveRevord- ActiveTable EN PostGres
 
En eso tienes toda la razon.. la Funcionalidad aportada por PDO es asombrosa de echo ya la tengo implementada en una clase y funciona bien.

en cuanto al ejemplo de GatorV es realmente muy practico asombroso la manera como se puede trabajar y ahorrar lineas de codigo SQL pero hay un detalle ese ejemplo funciona con MYSQL ya lo probe e implemente y funciono pero a la hora de tratr de hacer lo mismo con postgres...

he hay el detalle ...no funciona....

por eso pregunto alguien lo ha podio implementar...=?

GatorV 12/03/2008 09:33

Re: Ayuda con ActiveRevord- ActiveTable con PostGres
 
PostgreSQL maneja de forma diferente la sintaxis ver una tabla y sus columnas, ahorita no tengo acceso a un servidor de PosgreSQL asi que no puedo comparar la salida, pero el comando es:
Código:

SELECT ordinal_position,
        column_name,
        data_type,
        column_default,
        is_nullable,
        character_maximum_length,
        numeric_precision
    FROM information_schema.columns
  WHERE table_name = 'nombre_tabla'
ORDER BY ordinal_position;

Después necesitarías encontrar la columna que es el PRIMARY KEY, y su SEQUENCE:
Código:

SELECT relname
  FROM pg_class
 WHERE relkind = 'S'
  AND relnamespace IN (
        SELECT oid
          FROM pg_namespace
        WHERE nspname = 'tu_tabla'
);

Con esos datos podrás parsear la información en la función setup() del Active Table para obtener las columnas y el primary key.

Saludos.

mecano 17/03/2008 16:03

Re: Ayuda con ActiveRevord- ActiveTable con PostGres
 
Gracias por el dato... probare y te comento que tal la solucion ....


La zona horaria es GMT -6. Ahora son las 19:38.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.