-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Script de conversion de version 3.21.2 a 3.21.3
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BEGIN WORK;

--  Versión de la base
INSERT INTO app_versiones_base(version_base, fecha_actualizacion, observaciones)
     VALUES ('3.21.3', CURRENT_TIMESTAMP, 'Versión 3.21.3 de la base de Preinscripción');

-- +++++++++++++++ Agrego campos de duplicada ++++++++++++++++++++++++++++++
DO $BODY$
DECLARE cant INTEGER;
BEGIN    

 SELECT COUNT(*) INTO cant
   FROM pg_tables 
        JOIN pg_namespace ON pg_namespace.nspname = pg_tables.schemaname
        JOIN pg_class ON (pg_class.relname = pg_tables.tablename AND pg_class.relnamespace = pg_namespace.oid)
        JOIN pg_attribute as a0 ON a0.attrelid = pg_class.oid 
  WHERE pg_tables.schemaname =  trim(current_schema())  
    AND pg_tables.tablename = 'sga_preinscripcion'
    AND a0.attname = 'duplicada'
    AND a0.attnum > 0;	  

IF cant = 0 THEN 
  ALTER TABLE sga_preinscripcion ADD COLUMN duplicada Char(1) NOT NULL DEFAULT 'N';
  
  
  -- Datos de configuracion
  INSERT INTO sga_campos_form (columna, descripcion) VALUES ('duplicada','duplicada');
  
  INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','duplicada',1,0,1);
  
END IF;
END $BODY$;
-- ++++++++++++++++++ Fin Agrego campos de pregunta_secreta  +++++++++++++++++++

-- +++++++++++++++ Agrego campos de pregunta_secreta ++++++++++++++++++++++++++++++
DO $BODY$
DECLARE cant INTEGER;
BEGIN    

 SELECT COUNT(*) INTO cant
   FROM pg_tables 
        JOIN pg_namespace ON pg_namespace.nspname = pg_tables.schemaname
        JOIN pg_class ON (pg_class.relname = pg_tables.tablename AND pg_class.relnamespace = pg_namespace.oid)
        JOIN pg_attribute as a0 ON a0.attrelid = pg_class.oid 
  WHERE pg_tables.schemaname =  trim(current_schema())  
    AND pg_tables.tablename = 'sga_preinscripcion'
    AND a0.attname = 'pregunta_secreta'
    AND a0.attnum > 0;	  

IF cant = 0 THEN 
  ALTER TABLE sga_preinscripcion ADD COLUMN pregunta_secreta Char(255) NOT NULL DEFAULT '';
  
  
  -- Datos de configuracion
  INSERT INTO sga_campos_form (columna, descripcion) VALUES ('pregunta_secreta','pregunta secreta');
  
  INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','pregunta_secreta',1,0,1);
  
END IF;
END $BODY$;
-- ++++++++++++++++++ Fin Agrego campos de pregunta_secreta  +++++++++++++++++++

-- +++++++++++++++ Agrego campos de respuesta secreta ++++++++++++++++++++++++++++++
DO $BODY$
DECLARE cant INTEGER;
BEGIN    

 SELECT COUNT(*) INTO cant
   FROM pg_tables 
        JOIN pg_namespace ON pg_namespace.nspname = pg_tables.schemaname
        JOIN pg_class ON (pg_class.relname = pg_tables.tablename AND pg_class.relnamespace = pg_namespace.oid)
        JOIN pg_attribute as a0 ON a0.attrelid = pg_class.oid 
  WHERE pg_tables.schemaname =  trim(current_schema())  
    AND pg_tables.tablename = 'sga_preinscripcion'
    AND a0.attname = 'respuesta_secreta'
    AND a0.attnum > 0;	  

IF cant = 0 THEN 
  ALTER TABLE sga_preinscripcion ADD COLUMN respuesta_secreta Char(255) NOT NULL DEFAULT '';
  
 
  -- Datos de configuracion
  INSERT INTO sga_campos_form (columna, descripcion) VALUES ('respuesta_secreta','respuesta secreta');
  
  INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','respuesta_secreta',1,0,1);
  
END IF;
END $BODY$;
-- ++++++++++++++++++ Fin Agrego campos de respuesta secreta  +++++++++++++++++++
COMMIT WORK;
