Skip to main content

Migración revive.portalesdenegocios.cl

You are here:
← All Topics

Identificación de campañas activas

create table CJ_MIG_CAMPANAS_ACTIVAS as
select distinct campaignid, campaignname, clientid, clientname from
(
select rz.zoneid, rz.zonename, c.campaignname, c.clientid, cli.clientname,  r.description, r.bannerid, r.campaignid 
from rv_zones rz, 
rv_ad_zone_assoc aza, 
rv_banners r, 
rv_campaigns c, 
rv_clients cli 
where  rz.zoneid=aza.zone_id and aza.ad_id=r.bannerid and r.status=0 and r.campaignid=c.campaignid and c.clientid=cli.clientid and c.expire_time>now() and c.status=0
order by rz.zoneid, c.campaignid) a

Una vez creada la tabla en el servidor de origen, se exporta como sql y se crea en el servidor de destino.

Agregar columnas para identificar campaña y cliente de destino

En el servidor de destino, se agregan las siguiente columnas en la tabla CJ_MIG_CAMPANAS_ACTIVAS

migcampaignid	mediumint(9)	
migclientid	mediumint(9)	

Verificación de campañas ya copiadas

SELECT * FROM rv_campaigns r, CJ_MIG_CAMPANAS_ACTIVAS c WHERE r.campaignname=c.campaignname

Actualización de campos agregados en la data a migrar

/*ID DE CAMPAÑA*/
update CJ_MIG_CAMPANAS_ACTIVAS 
set migcampaignid=IFNULL((select campaignid from rv_campaigns r WHERE r.campaignname=CJ_MIG_CAMPANAS_ACTIVAS.campaignname LIMIT 1),0)
/*ID DE CLIENTE*/
update CJ_MIG_CAMPANAS_ACTIVAS
set migclientid=150 where clientid=2;
update CJ_MIG_CAMPANAS_ACTIVAS
set migclientid=155 where clientid=3;

Extracción de Campañas Completas

create table CJ_MIG_CAMPANAS_COMPLETAS as
select rvc.* from rv_campaigns rvc, CJ_MIG_CAMPANAS_ACTIVAS cjc where rvc.campaignid=cjc.campaignid 

La tabla creada se exporta en formato sql para ser ejecutada en el servidor de destino

Extracción de los banners de estas campañas

create table CJ_MIG_BANNERS_CAMPANA as
select rba.* from rv_banners rba, CJ_MIG_CAMPANAS_ACTIVAS cjc where rba.campaignid=cjc.campaignid

Extracción de restricciones de banners

create table CJ_MIG_ACLS_BANNER as
select rba.* from rv_acls rba, CJ_MIG_BANNERS_CAMPANA cjc where rba.bannerid=cjc.bannerid

Extracción de zonas asociadas a banners

create table CJ_MIG_ZONAS_BANNER as
select rba.* from rv_ad_zone_assoc rba, CJ_MIG_BANNERS_CAMPANA cjc where rba.ad_id=cjc.bannerid

Recordar actualizar los cálculos de prioridad del servidor

Marcar campañas cuyo registro ya fue creado en servidor destino

update CJ_MIG_CAMPANAS_ACTIVAS
set copiada=1
where migcampaignid<>0

Copiar registros de campañas que no fueron previamente copiadas al servidor de destino

INSERT INTO rv_campaigns(campaignname, clientid, views, clicks, conversions, priority, weight, target_impression, target_click, target_conversion, anonymous, companion, comments, revenue, revenue_type, updated, block, capping, session_capping, status, hosted_views, hosted_clicks, viewwindow, clickwindow, ecpm, min_impressions, ecpm_enabled, activate_time, expire_time, type, show_capped_no_cookie)
SELECT rcm.campaignname, rcc.migclientid, rcm.views, rcm.clicks, rcm.conversions, -1 priority, 
1 weight, rcm.target_impression, rcm.target_click, rcm.target_conversion, 
rcm.anonymous, rcm.companion, concat("[MIG]-",rcm.comments) comments, 
null revenue, 1 revenue_type, rcm.updated, rcm.block, rcm.capping, rcm.session_capping, rcm.status, rcm.hosted_views, rcm.hosted_clicks, rcm.viewwindow, rcm.clickwindow, rcm.ecpm, rcm.min_impressions, rcm.ecpm_enabled, rcm.activate_time, rcm.expire_time, rcm.type, rcm.show_capped_no_cookie 
FROM CJ_MIG_CAMPANAS_COMPLETAS rcm, CJ_MIG_CAMPANAS_ACTIVAS rcc WHERE rcm.campaignid=rcc.campaignid and rcc.copiada=0

Verificación de campañas copiadas (cantidad de)

select count(*) from rv_campaigns r where r.comments like "[MIG]-%"

Actualizar campaign ID en tabla campañas activas

update CJ_MIG_CAMPANAS_ACTIVAS 
set migcampaignid=IFNULL((select campaignid from rv_campaigns r WHERE r.campaignname=CJ_MIG_CAMPANAS_ACTIVAS.campaignname LIMIT 1),0)
where copiada=0

Actualización de comentarios en rv_banners para identificar los previamente cargados

update rv_banners set comments="[PREVMIG]" where bannerid in (SELECT distinct bannerid  FROM rv_banners r WHERE r.campaignid in (select b.migcampaignid from CJ_MIG_CAMPANAS_ACTIVAS b))

Actualizar migcampaignid en banners para respetar nuevo item padre en tabla rv_campaigns

Se agrega campo migcampaignid a tabla CJ_MIG_BANNERS_CAMPANAS y campo excluir para no tratar banner de 750×90

/* Se actualiza el migcampaign de los banners que se trataran*/
update CJ_MIG_BANNERS_CAMPANA
set migcampaignid=IFNULL((select migcampaignid from CJ_MIG_CAMPANAS_ACTIVAS r WHERE r.campaignid=CJ_MIG_BANNERS_CAMPANA.campaignid LIMIT 1),0)
WHERE excluir=0

Marcar con excluir = 1 a los banners de 750×90

update CJ_MIG_BANNERS_CAMPANA set excluir=1 WHERE width=750 and height=90

Marcar con excluir=0 a todas las zonas y ACLS que sean de banners que se excluyen

update CJ_MIG_ACLS_BANNER set excluir=1 WHERE bannerid in (select bannerid from CJ_MIG_BANNERS_CAMPANA where excluir=1);
update CJ_MIG_ZONAS_BANNER set excluir=1 WHERE ad_id in (select bannerid from CJ_MIG_BANNERS_CAMPANA where excluir=1);
SELECT excluir, count(*) FROM `CJ_MIG_ZONAS_BANNER` group by excluir;
SELECT excluir, count(*) FROM `CJ_MIG_ACLS_BANNER` group by excluir;

Generación de HTML para descarga de banners a migrar

select distinct img from(
select 
concat('<img src="http://revive.portalesdenegocios.com/www/images/',filename,'"><br>') img
from CJ_MIG_BANNERS_CAMPANA where excluir=0) a

Se exporta desde phpmyadmin en formato csv para generar un documento html y luego guardarlo en un directorio. Luego se suben via FTP los materiales al directorio www/images del servidor de destino.

Inserción de Banners migrados en las campañas correctas del destino

Se realiza insert sin banner id pero apuntando al id de campaña correspondiente en servidor de destino. Se ajusta campo comments para reflejar id original de bannerid

/* Primero se copian */
INSERT INTO rv_banners(campaignid, contenttype, pluginversion, storagetype, filename, imageurl, 
htmltemplate, htmlcache, width, height, weight, seq, target, url, alt, statustext, 
bannertext, description, adserver, block, capping, session_capping, compiledlimitation, acl_plugins, 
append, bannertype, alt_filename, alt_imageurl, alt_contenttype, comments, updated, acls_updated, 
keyword, transparent, parameters, status, ext_bannertype, prepend, iframe_friendly) 
SELECT migcampaignid, contenttype, pluginversion, storagetype, filename, imageurl, htmltemplate, htmlcache, width, height, 
weight, seq, target, url, alt, statustext, bannertext, description, adserver, block, 
capping, session_capping, compiledlimitation, acl_plugins, append, bannertype, alt_filename, alt_imageurl, alt_contenttype, concat(bannerid,'') comments, 
updated, acls_updated, keyword, transparent, parameters, status, ext_bannertype, prepend, 0 iframefriendly 
FROM CJ_MIG_BANNERS_CAMPANA WHERE excluir=0

/*Actualizacion de migbannerid*/
update CJ_MIG_BANNERS_CAMPANA set migbannerid=(select bannerid from rv_banners b where concat(CJ_MIG_BANNERS_CAMPANA.bannerid,'')=b.comments LIMIT 1) where excluir=0

Se actualiza ahora los nuevos id de banners para que los registros de zona y acls apunten correctamente a los banners

/* Comprobación de equivalencias*/
SELECT a.bannerid,a.migbannerid, b.bannerid, b.comments FROM CJ_MIG_ACLS_BANNER a, rv_banners b WHERE a.excluir=0 and concat(a.bannerid,'')=b.comments
/* actualizacion de banner id de destino */
update CJ_MIG_ACLS_BANNER set migbannerid=(select bannerid from rv_banners b where concat(CJ_MIG_ACLS_BANNER.bannerid,'')=b.comments LIMIT 1) 
where excluir=0
/* Comprobación de zonas */
SELECT a.ad_id bannerid,a.migbannerid, b.bannerid, b.comments FROM CJ_MIG_ZONAS_BANNER a, rv_banners b WHERE a.excluir=0 and concat(a.ad_id,'')=b.comments
/*actualización banner id*/
update CJ_MIG_ZONAS_BANNER set migbannerid=(select bannerid from rv_banners b where concat(CJ_MIG_ZONAS_BANNER.ad_id,'')=b.comments LIMIT 1) 
where excluir=0

Actualización de zona id en tabla a migrar

update CJ_MIG_ZONAS_BANNER SET migzonaid=555 where zone_id=1;
update CJ_MIG_ZONAS_BANNER SET migzonaid=100 where zone_id=5;

update CJ_MIG_ZONAS_BANNER SET migzonaid=567 where zone_id=7;
update CJ_MIG_ZONAS_BANNER SET migzonaid=564 where zone_id=8;
update CJ_MIG_ZONAS_BANNER SET migzonaid=652 where zone_id=15;
update CJ_MIG_ZONAS_BANNER SET migzonaid=11 where zone_id=16;
update CJ_MIG_ZONAS_BANNER SET migzonaid=546 where zone_id=25;
update CJ_MIG_ZONAS_BANNER SET migzonaid=557 where zone_id=34;
update CJ_MIG_ZONAS_BANNER SET migzonaid=566 where zone_id=36;
update CJ_MIG_ZONAS_BANNER SET migzonaid=532 where zone_id=38;
update CJ_MIG_ZONAS_BANNER SET migzonaid=535 where zone_id=39;

Inserción de ACLS y Zona Ad Assoc

INSERT INTO rv_acls(bannerid, logical, type, comparison, data, executionorder) SELECT migbannerid, logical, type, comparison, data, executionorder FROM CJ_MIG_ACLS_BANNER WHERE excluir=0

INSERT INTO rv_ad_zone_assoc(zone_id, ad_id, priority, link_type, priority_factor, to_be_delivered) SELECT migzonaid,migbannerid, priority,link_type, priority_factor, to_be_delivered FROM CJ_MIG_ZONAS_BANNER WHERE excluir=0