-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- Script de conversion de version 3.13.0 a 3.21.0 -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ BEGIN WORK; -- Versión de la base INSERT INTO app_versiones_base(version_base, fecha_actualizacion, observaciones) VALUES ('3.21', CURRENT_TIMESTAMP, 'Versión 3.21 de la base de Preinscripción'); DO $BODY$ DECLARE cant INTEGER; BEGIN -- Datos de configuracion DELETE FROM sga_campos_conf WHERE columna ='sector' ; DELETE FROM sga_campos_conf WHERE columna ='sub_sector' ; DELETE FROM sga_campos_form WHERE columna ='sector' ; DELETE FROM sga_campos_form WHERE columna ='sub_sector' ; -- Se eliminan columnas "Sector" y "Subsector" dentro de "Situación laboral" ALTER TABLE sga_preinscripcion DROP COLUMN IF EXISTS sector; ALTER TABLE sga_preinscripcion DROP COLUMN IF EXISTS subsector; END $BODY$; -- CAMPOS RELACIONADOS CON RENAPER 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 = 'validado_con_renaper' AND a0.attnum > 0; IF cant = 0 THEN ALTER TABLE sga_preinscripcion ADD COLUMN validado_con_renaper Char(1) NOT NULL DEFAULT 'N'; ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_validado_con_renaper CHECK (validado_con_renaper IN ('S','N')); END IF; END $BODY$; -- Cambio la longitud del campo de 30 a 60 caracteres como esta en la base de G3. ALTER TABLE sga_preinscripcion ALTER COLUMN apellido TYPE varchar(60); ALTER TABLE sga_preinscripcion ALTER COLUMN nombres TYPE varchar(60); ALTER TABLE sga_preinscripcion ALTER COLUMN apellido_elegido TYPE varchar(60); ALTER TABLE sga_preinscripcion ALTER COLUMN nombres_elegido TYPE varchar(60); ALTER TABLE sga_preinscripcion ADD COLUMN IF NOT EXISTS codigo_validacion_alta Timestamp with time zone; COMMIT WORK;