El Wednesday 09 July 2008 14:55:49 Carlos Villavicencio escribió:
Estoy usando PostgreSQL 8.1.9 (se incluye en el linux CentOS 5.1)
Me parece buena idea de saber que error sucedió. otra cosa que se me ocurre es quitarle los DROP TABLE ya que si es instalación, no deberían existir las tablas, o esas DROP TABLES (todas juntas) hacerlas en una transacción y en otra los CREATE TABLE. y en otra los datos de ejemplo.
Estoy arreglando el código del instalador. Y saque los DROP TABLES directamente desde el código, hasta tanto no lo podamos generar así desde el PROPEL.
Para el problema de la secuencia, encontré una solución un tanto practica y que habría que probar... Encontre un tutorial corto y completo que explica las secuencias ( http://www.truesoftware.net/gevik/2008/06/synchronizing-sequence-values-upo n-manual-insert/) , en resumen:
- El campo ID no debe ser Integer sino Serial - automaticamente se crea un Predeterminado:: nextval('customer_customer_id_seq'::regclass) - en realidad lo hace integer a final de todo. pero ingresa el campo predeterminado que les expliqué. - Los inserts deberán hacerse sin el campo ID (Ejemplo: *INSERT INTO pais (nombre_largo, nombre_corto, orden) VALUES ('Argentina', 'ARG', 10); * ) - Si se hace el insert con el campo ID entonces no se toma en cuenta el auto secuencial
Hice pruebas con la tabla pais, sólo cambie el valor predeterminado con el valor:: *nextval('pais_seq'::regclass)* en el phpPgAdmin y todo parece estar bien siempre que las secuencias esten en orden.
Puede que sea una solucion a todo esto.
Ya me he dado cuento cual es el problema. Las secuencias funcionan bien, el problema es que los inserts están hechos completando en campo ID, por lo tanto no actualiza la secuencia. Debe encontrar alguna forma de actualizar las secuencias para que comience en el id correcto, de lo contrario hay que agregar los insert que se hacen al comienzo como un fixture de symfony. Estoy viendo cual es la mejor solucion.