[evolvis-commits] r11583: [#1878] Move of categories to extrafields creates huge number of extraneous records↵
mirabilos at evolvis.org
mirabilos at evolvis.org
Thu Feb 24 18:19:34 CET 2011
Author: mirabilos
Date: 2011-02-24 18:19:34 +0100 (Thu, 24 Feb 2011)
New Revision: 11583
Added:
trunk/gforge_base/evolvisforge-5.1/gforge/db/20060214.sql
Modified:
trunk/gforge_base/evolvisforge-5.1/gforge/db/20050325-2.php
Log:
[#1878] Move of categories to extrafields creates huge number of extraneous records
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/db/20050325-2.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/db/20050325-2.php 2011-02-24 17:19:33 UTC (rev 11582)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/db/20050325-2.php 2011-02-24 17:19:34 UTC (rev 11583)
@@ -1,7 +1,7 @@
#! /usr/bin/php4 -f
<?php
/**
- * GForge Group Role Generator
+ * GForge Extra Field Conversion Script
*
* Copyright 2004 GForge, LLC
* http://gforge.org/
@@ -120,14 +120,15 @@
}
$res2=db_query("INSERT INTO artifact_extra_field_data (artifact_id,field_data,extra_field_id)
SELECT artifact_id,$efe_id,$catbox_id FROM artifact
- WHERE category_id='$cat_id'");
+ WHERE category_id='$cat_id' AND group_artifact_id='$gaid'");
if (!$res2) {
echo "Could Not Insert AEFD for category " . db_error();
db_rollback();
exit(6);
}
$res3=db_query("UPDATE artifact_history SET old_value='$cat_name',field_name='Category'
- WHERE old_value='$cat_id' AND field_name='category_id'");
+ WHERE old_value='$cat_id' AND field_name='category_id' AND artifact_id IN
+ (SELECT artifact_id FROM artifact WHERE group_artifact_id='$gaid')");
if (!$res3) {
echo "Could Not update history category " . db_error();
db_rollback();
@@ -171,14 +172,15 @@
}
$res2=db_query("INSERT INTO artifact_extra_field_data (artifact_id,field_data,extra_field_id)
SELECT artifact_id,$efe_id,$groupbox_id FROM artifact
- WHERE artifact_group_id='$artgroup_id'");
+ WHERE artifact_group_id='$artgroup_id' AND group_artifact_id='$gaid'");
if (!$res2) {
echo "Could Not Insert AEFD for artifactgroup " . db_error();
db_rollback();
exit(10);
}
$res3=db_query("UPDATE artifact_history SET old_value='$group_name',field_name='Group'
- WHERE old_value='$artgroup_id' AND field_name='artifact_group_id'");
+ WHERE old_value='$artgroup_id' AND field_name='artifact_group_id' AND artifact_id IN
+ (SELECT artifact_id FROM artifact WHERE group_artifact_id='$gaid')");
if (!$res3) {
echo "Could Not update history artifactgroup " . db_error();
db_rollback();
@@ -222,14 +224,15 @@
}
$res2=db_query("INSERT INTO artifact_extra_field_data (artifact_id,field_data,extra_field_id)
SELECT artifact_id,$efe_id,$resolutionbox_id FROM artifact
- WHERE resolution_id='$resolution_id'");
+ WHERE resolution_id='$resolution_id' AND group_artifact_id='$gaid'");
if (!$res2) {
echo "Could Not Insert AEFD for resolution " . db_error();
db_rollback();
exit(14);
}
$res3=db_query("UPDATE artifact_history SET old_value='$resolution_name',field_name='Resolution'
- WHERE old_value='$resolution_id' AND field_name='resolution_id'");
+ WHERE old_value='$resolution_id' AND field_name='resolution_id' AND artifact_id IN
+ (SELECT artifact_id FROM artifact WHERE group_artifact_id='$gaid')");
if (!$res3) {
echo "Could Not update history resolution " . db_error();
db_rollback();
@@ -237,8 +240,8 @@
}
}
}
- db_commit();
}
+db_commit();
echo "SUCCESS";
Added: trunk/gforge_base/evolvisforge-5.1/gforge/db/20060214.sql
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/db/20060214.sql (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/db/20060214.sql 2011-02-24 17:19:34 UTC (rev 11583)
@@ -0,0 +1,4 @@
+DELETE from artifact_extra_field_data where extra_field_id NOT IN
+(select aefl.extra_field_id FROM artifact_extra_field_list aefl, artifact a
+WHERE a.group_artifact_id=aefl.group_artifact_id and a.artifact_id=artifact_extra_field_data.artifact_id);
+
More information about the evolvis-commits
mailing list