#18674718 : remove redundant domain name for adding unique index

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7274 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
haneul 2010-02-04 12:36:13 +00:00
parent 1899ac4712
commit a39de44640
3 changed files with 61 additions and 7 deletions

View file

@ -290,17 +290,45 @@
if(!$output->toBool()) return $output;
}
if($oDB->isIndexExists('sites','idx_domain')){
$oDB->dropIndex('sites','idx_domain');
}
if(!$oDB->isIndexExists('sites','unique_domain')){
$oDB->addIndex('sites','unique_domain',array('domain'),true);
}
if($oDB->isIndexExists('sites','idx_domain')){
$oDB->dropIndex('sites','idx_domain');
}
if(!$oDB->isIndexExists('sites','unique_domain')){
$this->updateForUniqueSiteDomain();
$oDB->addIndex('sites','unique_domain',array('domain'),true);
}
return new Object(0, 'success_updated');
}
function updateForUniqueSiteDomain()
{
$output = executeQueryArray("module.getNonuniqueDomains");
if(!$output->data) return;
foreach($output->data as $data)
{
if($data->count == 1) continue;
$domain = $data->domain;
$args = null;
$args->domain = $domain;
$output2 = executeQueryArray("module.getSiteByDomain", $args);
$bFirst = true;
foreach($output2->data as $site)
{
if($bFirst)
{
$bFirst = false;
continue;
}
$domain .= "_";
$args = null;
$args->domain = $domain;
$args->site_srl = $site->site_srl;
$output3 = executeQuery("module.updateSite", $args);
}
}
}
/**
* @brief 캐시 파일 재생성
**/