-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- Script de conversion de version 3.11 a 3.11.2 -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ BEGIN WORK; -- +++++++++++++++ Agrega el campo "es_mayor_25_sin_secundario" ++++++++++++++++++++++++++++++ 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 = 'es_mayor_25_sin_secundario' AND a0.attnum > 0; IF cant = 0 THEN ALTER TABLE sga_preinscripcion ADD COLUMN es_mayor_25_sin_secundario Char(1) NOT NULL DEFAULT 'N'; ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_es_mayor_25_sin_secundario CHECK (es_mayor_25_sin_secundario IN ('N', 'S')); -- Datos de configuracion INSERT INTO sga_campos_form (columna, descripcion) VALUES ('es_mayor_25_sin_secundario','Es mayor de 25 años y no tiene estudios secundarios'); INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','es_mayor_25_sin_secundario',1,1,1); -- si ya existe -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- Se replica la config de propuestas de Grado para los demás tipos -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) SELECT sga_propuestas_tipos.propuesta_tipo, sga_campos_conf.columna, sga_campos_conf.visible, sga_campos_conf.obligatorio, sga_campos_conf.se_imprime FROM sga_campos_conf, sga_propuestas_tipos WHERE sga_campos_conf.propuesta_tipo = '200' AND sga_propuestas_tipos.propuesta_tipo <> '200' ORDER BY sga_propuestas_tipos.propuesta_tipo, sga_campos_conf.columna; END IF; --Por si fue modificada manualmente UPDATE sga_campos_conf SET visible=1, obligatorio=1, se_imprime=1 WHERE columna='es_mayor_25_sin_secundario'; END $BODY$; -- ++++++++++++++++++ Fin agregado campo es_mayor_25_sin_secundario +++++++++++++++++++ COMMIT WORK;