Problema de actualización 19.07 a 21.0

Inicio Foros Foro principal Ayuda Problema de actualización 19.07 a 21.0

Viendo 9 entradas - de la 1 a la 9 (de un total de 9)
  • Autor
    Entradas
  • #62303
    Diego RucciDiego Rucci
    Participante

    No se que pasó, pero no veo listada mi anterior consulta. Asi que re-pregunto.
    Tengo Debian 8 + PostgreSQL 9.4.
    Vengo actualizando Libertya desde hace mucho.
    Asumo que tengo la versión Corporate porque el último archivo que use para actualizar fue
    org.libertya.core.upgrade_18.06_19.07.jar

    Hoy quise actualizar a la versión 21 (sigo el mismo procedimiento que para la 19)
    detengo el servidor, reemplazo con ServidorOXP_V21.0.zip, ejecuto Configurar.sh y luego accedo con usuario System.
    Intento cargar el archivo org.libertya.core.upgrade_19.07_21.0.jar pero recibo un error:

    ” ERROR: Error en ejecución de sentencia SQL. ERROR: no existe la vista «ad_plugin_detail_v» ” y continúa, no se si será relevante.

    Tal vez estoy metiendo la pata en algo.

    #62306
    Diego RucciDiego Rucci
    Participante

    Agrego info, este es el error completo:

    === Instalando Componente y Version. Registrando Plugin === === Ejecutando sentencias de preinstalacion === ERROR: Error en ejecución de sentencia SQL. ERROR: no existe la vista «ad_plugin_detail_v» – SQL: drop view ad_changelog_dev; CREATE OR REPLACE VIEW ad_changelog_dev AS SELECT g.ad_changelog_id, g.changeloggroup_id, g.changeloguid, g.changeloggroupuid, c.name AS client, o.name AS organization, g.isactive, g.created, uc.name AS createdbyuser, g.updated, uu.name AS updatedbyuser, operationtype, t.tablename, l.columnname, g.record_id, g.ad_componentobjectuid, g.oldvalue, g.newvalue, g.binaryvalue, p.prefix AS componentprefix, p.publicname AS componentname, v.version AS componentversion, g.ad_componentversion_id, g.createdby, g.updatedby, g.ad_session_id, g.ad_table_id, g.ad_column_id, g.iscustomization, g.redo, g.undo, g.trxname FROM ad_changelog g INNER JOIN ad_client c ON (g.ad_client_id = c.ad_client_id) INNER JOIN ad_org o ON (g.ad_org_id = o.ad_org_id) INNER JOIN ad_user uc ON (g.createdby = uc.ad_user_id) INNER JOIN ad_user uu ON (g.updatedby = uu.ad_user_id) INNER JOIN ad_table t ON (g.ad_table_id = t.ad_table_id) INNER JOIN ad_column l ON (g.ad_column_id = l.ad_column_id) INNER JOIN ad_componentversion v ON (g.ad_componentversion_id = v.ad_componentversion_id) INNER JOIN ad_component p ON (v.ad_component_id = p.ad_component_id) ORDER BY created DESC, changeloggroup_id DESC, ad_changelog_id DESC; drop view ad_plugin_v; CREATE OR REPLACE VIEW ad_plugin_v AS SELECT cv.name, cv.ad_componentobjectuid, cv.version, p.created, p.updated, p.createdby, p.updatedby, p.component_export_date as export_date, p.component_last_changelog as last_changelog, p.component_first_changelog_uid as first_changelog_uid, p.component_last_changelog_uid as last_changelog_uid, p.component_first_changelog_group_uid as first_changelog_group_uid, p.component_last_changelog_group_uid as last_changelog_group_uid FROM ad_plugin p LEFT JOIN ad_componentversion cv ON p.ad_componentversion_id = cv.ad_componentversion_id ORDER BY p.created; drop view ad_plugin_detail_v; create view ad_plugin_detail_v as select cv.name, cv.ad_componentobjectuid, pd.version, pd.created, pd.createdby, pd.component_export_date as export_date, pd.component_first_changelog as first_changelog, pd.component_last_changelog as last_changelog, pd.component_first_changelog_uid as first_changelog_uid, pd.component_last_changelog_uid as last_changelog_uid, pd.component_first_changelog_group_uid as first_changelog_group_uid, pd.component_last_changelog_group_uid as last_changelog_group_uid, pd.install_details from ad_plugin p inner join ad_plugin_detail pd on p.ad_plugin_id = pd.ad_plugin_id left join ad_componentversion cv on p.ad_componentversion_id = cv.ad_componentversion_id order by pd.created asc; Error al realizar la instalación: ERROR: Error en ejecución de sentencia SQL. ERROR: no existe la vista «ad_plugin_detail_v» – SQL: drop view ad_changelog_dev; CREATE OR REPLACE VIEW ad_changelog_dev AS SELECT g.ad_changelog_id, g.changeloggroup_id, g.changeloguid, g.changeloggroupuid, c.name AS client, o.name AS organization, g.isactive, g.created, uc.name AS createdbyuser, g.updated, uu.name AS updatedbyuser, operationtype, t.tablename, l.columnname, g.record_id, g.ad_componentobjectuid, g.oldvalue, g.newvalue, g.binaryvalue, p.prefix AS componentprefix, p.publicname AS componentname, v.version AS componentversion, g.ad_componentversion_id, g.createdby, g.updatedby, g.ad_session_id, g.ad_table_id, g.ad_column_id, g.iscustomization, g.redo, g.undo, g.trxname FROM ad_changelog g INNER JOIN ad_client c ON (g.ad_client_id = c.ad_client_id) INNER JOIN ad_org o ON (g.ad_org_id = o.ad_org_id) INNER JOIN ad_user uc ON (g.createdby = uc.ad_user_id) INNER JOIN ad_user uu ON (g.updatedby = uu.ad_user_id) INNER JOIN ad_table t ON (g.ad_table_id = t.ad_table_id) INNER JOIN ad_column l ON (g.ad_column_id = l.ad_column_id) INNER JOIN ad_componentversion v ON (g.ad_componentversion_id = v.ad_componentversion_id) INNER JOIN ad_component p ON (v.ad_component_id = p.ad_component_id) ORDER BY created DESC, changeloggroup_id DESC, ad_changelog_id DESC; drop view ad_plugin_v; CREATE OR REPLACE VIEW ad_plugin_v AS SELECT cv.name, cv.ad_componentobjectuid, cv.version, p.created, p.updated, p.createdby, p.updatedby, p.component_export_date as export_date, p.component_last_changelog as last_changelog, p.component_first_changelog_uid as first_changelog_uid, p.component_last_changelog_uid as last_changelog_uid, p.component_first_changelog_group_uid as first_changelog_group_uid, p.component_last_changelog_group_uid as last_changelog_group_uid FROM ad_plugin p LEFT JOIN ad_componentversion cv ON p.ad_componentversion_id = cv.ad_componentversion_id ORDER BY p.created; drop view ad_plugin_detail_v; create view ad_plugin_detail_v as select cv.name, cv.ad_componentobjectuid, pd.version, pd.created, pd.createdby, pd.component_export_date as export_date, pd.component_first_changelog as first_changelog, pd.component_last_changelog as last_changelog, pd.component_first_changelog_uid as first_changelog_uid, pd.component_last_changelog_uid as last_changelog_uid, pd.component_first_changelog_group_uid as first_changelog_group_uid, pd.component_last_changelog_group_uid as last_changelog_group_uid, pd.install_details from ad_plugin p inner join ad_plugin_detail pd on p.ad_plugin_id = pd.ad_plugin_id left join ad_componentversion cv on p.ad_componentversion_id = cv.ad_componentversion_id order by pd.created asc;

    #62349
    Federico CristinaFederico Cristina
    Superadministrador

    Buenas!

    Probablemente tu instancia no cuenta con la vista ad_plugin_detail_v, y dado que una de las actividades de actualización implica eliminar y regenerar dicha vista, el instalador está informando el error en cuestión.

    Tenés dos alternativas para solucionarlo:

    1) Crear la vista desde pgAdmin ejecutando la siguiente sentencia SQL:

    create view ad_plugin_detail_v as
    select 	cv.name, 
    	cv.ad_componentobjectuid, 
    	pd.version, 
    	pd.created, 
    	pd.createdby,
    	pd.component_export_date as export_date, 
    	pd.component_first_changelog as first_changelog,
    	pd.component_last_changelog as last_changelog, 
    	pd.component_first_changelog_uid as first_changelog_uid, 
    	pd.component_last_changelog_uid as last_changelog_uid, 
    	pd.component_first_changelog_group_uid as first_changelog_group_uid, 
    	pd.component_last_changelog_group_uid as last_changelog_group_uid,
    	pd.install_details
    from ad_plugin p
    inner join ad_plugin_detail pd on p.ad_plugin_id = pd.ad_plugin_id
    left join ad_componentversion cv on p.ad_componentversion_id = cv.ad_componentversion_id
    order by pd.created asc;  

    Esto generará la vista en cuestión y luego el instalador podrá regenerarla.

    2) Modificar el archivo preinstall.sql que se encuentra dentro del archivo org.libertya.core.upgrade_19.07_21.0.jar, eliminando o comentando (con dos guiones –) la línea 758:

    drop view ad_plugin_detail_v;

    Esto omite el drop de la vista que no existe, evitando el error en cuestión.

    Slds!
    Federico

    #62353
    Diego RucciDiego Rucci
    Participante

    Hola Federico, muchas gracias.
    Debo tener un problema mucho mas grave, porque al correr la sentencia SQL que me pasaste me devuelve este error:

    ERROR: no existe la columna pd.component_first_changelog_uid
    LÍNEA 1: …g, pd.component_last_changelog as last_changelog, pd.compone…
    ^

    ********** Error **********

    ERROR: no existe la columna pd.component_first_changelog_uid
    SQL state: 42703
    Character: 252

    ¿Me convendrá hacer respaldo de la base de datos, instalar de cero la versión 19.06 y restaurar la base?

    #62377
    Federico CristinaFederico Cristina
    Superadministrador

    Buenas, probablemente falte ajustes adicionales previos al SQL que te pasé. Te sugeriría que como primer aproximacíon pruebes entonces con la opción 2 a ver qué pasa. Comentá la línea 758 dentro del jar y fijate si ahí la instalación puede continuar sin problemas.

    Slds!

    #62386
    Diego RucciDiego Rucci
    Participante

    Hola, lo instaló pero con algunos errores.
    Lo que pude ver es que son errores de INSERTS por clave duplicada

    Este es uno de los 20 errores.
    ERROR: Error en ejecución de sentencia SQL. ERROR: llave duplicada viola restricción de unicidad «externalserviceattributes_key»
    Detail: Ya existe la llave (c_externalserviceattributes_id)=(1000014). – SQL: INSERT INTO C_ExternalServiceAttributes (AD_Client_ID,AD_ComponentObjectUID,AD_ComponentVersion_ID,AD_Org_ID,C_Externalserviceattributes_ID,C_ExternalService_ID,Created,CreatedBy,IsActive,Name,Updated,UpdatedBy,Value ) VALUES (1010016,’CORE-C_ExternalServiceAttributes-1010001′,1010188,1010053,1000014,1000058,NOW(),0,’Y’,’100′,NOW(),0,’Elementos por Página’ );

    adjunto el enlace al log en GoogleDrive por las dudas.
    No se si será seguro continuar usando Libertya en este estado.

    Muchísimas Gracias.

    #62388
    Diego RucciDiego Rucci
    Participante

    Olvidé mencionar.
    Tengo la posibilidad de hacer un rollback del snapshot y volver al estado anterior (justo antes actualizar)
    por si hay algo mas que deba comentar en el preinstall o el postinstall.xml

    #62468
    Federico CristinaFederico Cristina
    Superadministrador

    Buenas,

    Efectivamente, los errores que se presentan en el log son por clave duplicada. Esto se debe a que cierta información que debía incorporarse en el upgade 19.07 -> 21 ya se encontraba en la BBDD. ¿Puede ser que esa instancia de LY 19.07 que estás intentando actualizar ya tenía cierto “tunning ad-hoc” o algún “adelanto de funcionalidades” de la versión 21?

    Viendo los errores en el upgrade, los mismos son de post-install y en todos los casos están asociados con las tablas C_ExternalService y C_ExternalServiceAttributes (configuración de servicios externos como URL de conexión a AFIP, etc.), con lo cual como mucho deberás adecuar estas entradas en caso de problemas. De todas maneras, te recomendaría que pruebes los circuitos para garantizar que todo funciona bien. Tené en cuenta que en caso de utilizar factura electrónica, además de la actualización de CORE se requiere la actualización del módulo nativo de facturación electrónica (LYEI).

    Slds!
    Federico

    #62475
    Diego RucciDiego Rucci
    Participante

    Hola Federico.
    No tengo ninguna modificación ni creo haber instalado nada extraño (excepto que hice un intento de incorporar Libertya_BI).
    Voy guardando los archivos de instalación y vengo actualizando desde la versión 17.05

    Esta instancia de Libertya la uso para mi, muy pocos módulos. Soy monotributista de servicios y cargo las facturas manualmente (ni siquiera uso FE desde libertya) ya que cuando dejé el talonario manual comencé a generarlas directamente desde AFIP (al fin son 15 facturas como mucho por mes y no me molesta cargarlas manualmente).
    Con Libertya llevo cuentas corrientes, genero los recibos de clientes, etc … muy básico; al brindar servicios no tengo productos ni llevo stock.

    Voy a estar atento.
    Muchas gracias

Viendo 9 entradas - de la 1 a la 9 (de un total de 9)
  • Debes estar registrado para responder a este debate.