mht_brerp10
.adempiere
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
z_register_migration_script(character varying)
Parameters
Name
Type
Mode
p_script
character varying
IN
Definition
DECLARE v_return CHARACTER VARYING; v_project_system character varying; v_project_script character varying; v_scriptid INTEGER; BEGIN v_return := p_script || ' successfully registered'; select cof_customizationproject into v_project_system from ad_system; select (regexp_matches('postgresql/'||p_script, '(.*\/.*_)(.*)(-\d{1,10}.sql)'))[2] into v_project_script; SELECT MAX(AD_MigrationScript_ID) INTO v_scriptid FROM AD_MigrationScript WHERE Name = p_script; IF (v_scriptid IS NULL) THEN INSERT INTO ad_migrationscript (isapply, scriptroll, status, projectname, releaseno, name, filename, ad_client_id, ad_org_id, created, createdby, updated, updatedby, isactive, ad_migrationscript_id) VALUES ('Y', 'N', 'CO', v_project_script, (select releaseno from ad_system), p_script, 'postgresql/'||p_script, 0, 0, now(), 100, now(), 100, 'Y', nextidfunc(53081,'N')); ELSE v_return := p_script || ' was already applied'; RAISE NOTICE '%', v_return; UPDATE ad_migrationscript SET updated=now(), description = COALESCE(description, ' ') || ' reapplied' WHERE ad_migrationscript_id = v_scriptid; END IF; -- somente atualiza o campo de ultimo script aplicado quando for script de personalização IF (upper(v_project_system) = upper(v_project_script)) then UPDATE AD_System SET z_LastMigrationScriptApplied=p_script WHERE z_LastMigrationScriptApplied<p_script OR z_LastMigrationScriptApplied IS NULL; end if; RETURN v_return; END;