BUG 0000 new Feature: Report table ver 2 (fixes)

- update phisical table fixed
This commit is contained in:
Erik Amaru Ortiz
2011-06-29 12:46:51 -04:00
parent 172bd87580
commit db2ff5a36a
18 changed files with 436 additions and 203 deletions

View File

@@ -71,6 +71,7 @@ class AdditionalTables extends BaseAdditionalTables {
$oCriteria->addSelectColumn(FieldsPeer::FLD_FOREIGN_KEY_TABLE);
$oCriteria->addSelectColumn(FieldsPeer::FLD_DYN_NAME);
$oCriteria->addSelectColumn(FieldsPeer::FLD_DYN_UID);
$oCriteria->addSelectColumn(FieldsPeer::FLD_FILTER);
$oCriteria->add(FieldsPeer::ADD_TAB_UID, $sUID);
$oCriteria->addAscendingOrderByColumn(FieldsPeer::FLD_INDEX);
$oDataset = FieldsPeer::doSelectRS($oCriteria);
@@ -430,23 +431,40 @@ class AdditionalTables extends BaseAdditionalTables {
$aFieldsToAdd = array();
$aFieldsToDelete = array();
$aFieldsToAlter = array();
// echo 'oldfields';
// print_R($aOldFields);
// echo 'newfields';
// print_R($aNewFields);
foreach ($aNewFields as $aNewField) {
$aNewField['FLD_NAME'] = strtoupper($aNewField['FLD_NAME']);
if (!isset($aOldFields[$aNewField['FLD_UID']])) {
$aFieldsToAdd[] = $aNewField;
}
if ($aNewField['FLD_KEY'] == 1 || $aNewField['FLD_KEY'] == 'on' || $aNewField['FLD_AUTO_INCREMENT'] == 'on') {
if ($aNewField['FLD_KEY'] == 1 || $aNewField['FLD_KEY'] === 'on' || $aNewField['FLD_AUTO_INCREMENT'] === 'on') {
if (!in_array($aNewField['FLD_NAME'], $aKeys)) {
$aKeys[] = $aNewField['FLD_NAME'];
}
}
}
// echo '$aKeys';
// print_R($aKeys);
// echo '$aFieldsToAdd';
// print_R($aFieldsToAdd);
foreach ($aOldFields as $aOldField) {
$aOldField['FLD_NAME'] = strtoupper($aOldField['FLD_NAME']);
if (!isset($aNewFields[$aOldField['FLD_UID']])) {
$aFieldsToDelete[] = $aOldField;
}
}
// echo '$aFieldsToDelete';
// print_R($aFieldsToDelete);
foreach ($aNewFields as $aNewField) {
if (isset($aOldFields[$aNewField['FLD_UID']])) {
$bEqual = true;
@@ -474,23 +492,35 @@ class AdditionalTables extends BaseAdditionalTables {
}
}
}
// echo '$aFieldsToAlter';
// print_R($aFieldsToAlter);
G::LoadSystem('database_' . strtolower(DB_ADAPTER));
$oDataBase = new database(DB_ADAPTER, DB_HOST, DB_USER, DB_PASS, DB_NAME);
$oDataBase->iFetchType = MYSQL_NUM;
$oDataBase->executeQuery($oDataBase->generateDropPrimaryKeysSQL($sTableName));
//$oDataBase->executeQuery($oDataBase->generateDropPrimaryKeysSQL($sTableName));
$con = Propel::getConnection($sConnection);
$stmt = $con->createStatement();
$sQuery = $oDataBase->generateDropPrimaryKeysSQL($sTableName);
// echo "drop pk->";
// var_dump($sQuery);
// echo "\n";
$rs = $stmt->executeQuery($sQuery);
foreach ($aFieldsToAdd as $aFieldToAdd) {
switch ($aFieldToAdd['FLD_TYPE']) {
case 'VARCHAR':
$aData = array(
'Type' => 'VARCHAR(' . $aFieldToAdd['FLD_SIZE'] . ')',
'Null' => ($aFieldToAdd['FLD_NULL'] == 'on' ? 'YES' : ''),
'Null' => ($aFieldToAdd['FLD_NULL'] == 1 || $aFieldToAdd['FLD_NULL'] === 'on' ? 'YES' : ''),
'Default' => ''
);
break;
case 'TEXT':
$aData = array(
'Type' => 'TEXT',
'Null' => ($aFieldToAdd['FLD_NULL'] == 'on' ? 'YES' : ''),
'Null' => ($aFieldToAdd['FLD_NULL'] == 1 || $aFieldToAdd['FLD_NULL'] === 'on' ? 'YES' : ''),
'Default' => ''
);
break;
@@ -504,27 +534,44 @@ class AdditionalTables extends BaseAdditionalTables {
case 'INT':
$aData = array(
'Type' => 'INT(' . (int)$aFieldToAdd['FLD_SIZE'] . ')',
'Null' => ($aFieldToAdd['FLD_NULL'] == 'on' ? 'YES' : ''),
'Null' => ($aFieldToAdd['FLD_NULL'] == 1 || $aFieldToAdd['FLD_NULL'] === 'on' ? 'YES' : ''),
'Default' => '0',
'AI' => ($aFieldToAdd['FLD_AUTO_INCREMENT'] == 'on' ? 1 : 0)
'AI' => ($aFieldToAdd['FLD_AUTO_INCREMENT'] == 1 || $aFieldToAdd['FLD_AUTO_INCREMENT'] === 'on' ? 1 : 0)
);
break;
case 'FLOAT':
$aData = array(
'Type' => 'FLOAT(' . (int)$aFieldToAdd['FLD_SIZE'] . ')',
'Null' => ($aFieldToAdd['FLD_NULL'] == 'on' ? 'YES' : ''),
'Null' => ($aFieldToAdd['FLD_NULL'] == 1 || $aFieldToAdd['FLD_NULL'] == 'on' ? 'YES' : ''),
'Default' => '0'
);
break;
}
//echo $oDataBase->generateAddColumnSQL($sTableName, $aFieldToAdd['FLD_NAME'], $aData);
$oDataBase->executeQuery($oDataBase->generateAddColumnSQL($sTableName, strtoupper($aFieldToAdd['FLD_NAME']), $aData));
//$oDataBase->executeQuery($oDataBase->generateAddColumnSQL($sTableName, strtoupper($aFieldToAdd['FLD_NAME']), $aData));
$sQuery = $oDataBase->generateAddColumnSQL($sTableName, strtoupper($aFieldToAdd['FLD_NAME']), $aData);
// echo "add col->";
// var_dump($sQuery);
// echo "\n";
$rs = $stmt->executeQuery($sQuery);
}
foreach ($aFieldsToDelete as $aFieldToDelete) {
$oDataBase->executeQuery($oDataBase->generateDropColumnSQL($sTableName, strtoupper($aFieldToDelete['FLD_NAME'])));
//$oDataBase->executeQuery($oDataBase->generateDropColumnSQL($sTableName, strtoupper($aFieldToDelete['FLD_NAME'])));
$sQuery = $oDataBase->generateDropColumnSQL($sTableName, strtoupper($aFieldToDelete['FLD_NAME']));
// echo 'drop col->';
// var_dump($sQuery);
// echo "\n";
$rs = $stmt->executeQuery($sQuery);
}
//die;
$oDataBase->executeQuery($oDataBase->generateAddPrimaryKeysSQL($sTableName, $aKeys));
//$oDataBase->executeQuery($oDataBase->generateAddPrimaryKeysSQL($sTableName, $aKeys));
$sQuery = $oDataBase->generateAddPrimaryKeysSQL($sTableName, $aKeys);
// echo 'generate add PK->';
// var_dump($sQuery);
// echo "\n";
$rs = $stmt->executeQuery($sQuery);
foreach ($aFieldsToAlter as $aFieldToAlter) {
switch ($aFieldToAlter['FLD_TYPE']) {
case 'VARCHAR':
@@ -564,7 +611,13 @@ class AdditionalTables extends BaseAdditionalTables {
);
break;
}
$oDataBase->executeQuery($oDataBase->generateChangeColumnSQL($sTableName, strtoupper($aFieldToAlter['FLD_NAME']), $aData, strtoupper($aFieldToAlter['FLD_NAME_OLD'])));
//$oDataBase->executeQuery($oDataBase->generateChangeColumnSQL($sTableName, strtoupper($aFieldToAlter['FLD_NAME']), $aData, strtoupper($aFieldToAlter['FLD_NAME_OLD'])));
$sQuery = $oDataBase->generateChangeColumnSQL($sTableName, strtoupper($aFieldToAlter['FLD_NAME']), $aData, strtoupper($aFieldToAlter['FLD_NAME_OLD']));
// echo 'alter->';
// var_dump($sQuery);
// echo "\n";
$rs = $stmt->executeQuery($sQuery);
}
}
catch (Exception $oError) {
@@ -1802,6 +1855,7 @@ var additionalTablesDataDelete = function(sUID, sKeys) {
$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_NAME);
$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_DESCRIPTION);
$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_TYPE);
$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_TAG);
$oCriteria->addSelectColumn(AdditionalTablesPeer::PRO_UID);
if (isset($process)) {

View File

@@ -94,6 +94,8 @@ class FieldsMapBuilder {
$tMap->addColumn('FLD_FILTER', 'FldFilter', 'int', CreoleTypes::TINYINT, false, null);
$tMap->addColumn('ADD_TAB_TAG', 'AddTabTag', 'string', CreoleTypes::VARCHAR, false, 256);
} // doBuild()
} // FieldsMapBuilder

View File

@@ -132,6 +132,13 @@ abstract class BaseFields extends BaseObject implements Persistent {
*/
protected $fld_filter = 0;
/**
* The value for the add_tab_tag field.
* @var string
*/
protected $add_tab_tag = '';
/**
* Flag to prevent endless save loop, if this object is referenced
* by another object which falls in this transaction.
@@ -311,6 +318,17 @@ abstract class BaseFields extends BaseObject implements Persistent {
return $this->fld_filter;
}
/**
* Get the [add_tab_tag] column value.
*
* @return string
*/
public function getAddTabTag()
{
return $this->add_tab_tag;
}
/**
* Set the value of [fld_uid] column.
*
@@ -641,6 +659,28 @@ abstract class BaseFields extends BaseObject implements Persistent {
} // setFldFilter()
/**
* Set the value of [add_tab_tag] column.
*
* @param string $v new value
* @return void
*/
public function setAddTabTag($v)
{
// Since the native PHP type for this column is string,
// we will cast the input to a string (if it is not).
if ($v !== null && !is_string($v)) {
$v = (string) $v;
}
if ($this->add_tab_tag !== $v || $v === '') {
$this->add_tab_tag = $v;
$this->modifiedColumns[] = FieldsPeer::ADD_TAB_TAG;
}
} // setAddTabTag()
/**
* Hydrates (populates) the object variables with values from the database resultset.
*
@@ -688,12 +728,14 @@ abstract class BaseFields extends BaseObject implements Persistent {
$this->fld_filter = $rs->getInt($startcol + 14);
$this->add_tab_tag = $rs->getString($startcol + 15);
$this->resetModified();
$this->setNew(false);
// FIXME - using NUM_COLUMNS may be clearer.
return $startcol + 15; // 15 = FieldsPeer::NUM_COLUMNS - FieldsPeer::NUM_LAZY_LOAD_COLUMNS).
return $startcol + 16; // 16 = FieldsPeer::NUM_COLUMNS - FieldsPeer::NUM_LAZY_LOAD_COLUMNS).
} catch (Exception $e) {
throw new PropelException("Error populating Fields object", $e);
@@ -941,6 +983,9 @@ abstract class BaseFields extends BaseObject implements Persistent {
case 14:
return $this->getFldFilter();
break;
case 15:
return $this->getAddTabTag();
break;
default:
return null;
break;
@@ -976,6 +1021,7 @@ abstract class BaseFields extends BaseObject implements Persistent {
$keys[12] => $this->getFldDynName(),
$keys[13] => $this->getFldDynUid(),
$keys[14] => $this->getFldFilter(),
$keys[15] => $this->getAddTabTag(),
);
return $result;
}
@@ -1052,6 +1098,9 @@ abstract class BaseFields extends BaseObject implements Persistent {
case 14:
$this->setFldFilter($value);
break;
case 15:
$this->setAddTabTag($value);
break;
} // switch()
}
@@ -1090,6 +1139,7 @@ abstract class BaseFields extends BaseObject implements Persistent {
if (array_key_exists($keys[12], $arr)) $this->setFldDynName($arr[$keys[12]]);
if (array_key_exists($keys[13], $arr)) $this->setFldDynUid($arr[$keys[13]]);
if (array_key_exists($keys[14], $arr)) $this->setFldFilter($arr[$keys[14]]);
if (array_key_exists($keys[15], $arr)) $this->setAddTabTag($arr[$keys[15]]);
}
/**
@@ -1116,6 +1166,7 @@ abstract class BaseFields extends BaseObject implements Persistent {
if ($this->isColumnModified(FieldsPeer::FLD_DYN_NAME)) $criteria->add(FieldsPeer::FLD_DYN_NAME, $this->fld_dyn_name);
if ($this->isColumnModified(FieldsPeer::FLD_DYN_UID)) $criteria->add(FieldsPeer::FLD_DYN_UID, $this->fld_dyn_uid);
if ($this->isColumnModified(FieldsPeer::FLD_FILTER)) $criteria->add(FieldsPeer::FLD_FILTER, $this->fld_filter);
if ($this->isColumnModified(FieldsPeer::ADD_TAB_TAG)) $criteria->add(FieldsPeer::ADD_TAB_TAG, $this->add_tab_tag);
return $criteria;
}
@@ -1198,6 +1249,8 @@ abstract class BaseFields extends BaseObject implements Persistent {
$copyObj->setFldFilter($this->fld_filter);
$copyObj->setAddTabTag($this->add_tab_tag);
$copyObj->setNew(true);

View File

@@ -24,7 +24,7 @@ abstract class BaseFieldsPeer {
const CLASS_DEFAULT = 'classes.model.Fields';
/** The total number of columns. */
const NUM_COLUMNS = 15;
const NUM_COLUMNS = 16;
/** The number of lazy-loaded columns. */
const NUM_LAZY_LOAD_COLUMNS = 0;
@@ -75,6 +75,9 @@ abstract class BaseFieldsPeer {
/** the column name for the FLD_FILTER field */
const FLD_FILTER = 'FIELDS.FLD_FILTER';
/** the column name for the ADD_TAB_TAG field */
const ADD_TAB_TAG = 'FIELDS.ADD_TAB_TAG';
/** The PHP to DB Name Mapping */
private static $phpNameMap = null;
@@ -86,10 +89,10 @@ abstract class BaseFieldsPeer {
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
private static $fieldNames = array (
BasePeer::TYPE_PHPNAME => array ('FldUid', 'AddTabUid', 'FldIndex', 'FldName', 'FldDescription', 'FldType', 'FldSize', 'FldNull', 'FldAutoIncrement', 'FldKey', 'FldForeignKey', 'FldForeignKeyTable', 'FldDynName', 'FldDynUid', 'FldFilter', ),
BasePeer::TYPE_COLNAME => array (FieldsPeer::FLD_UID, FieldsPeer::ADD_TAB_UID, FieldsPeer::FLD_INDEX, FieldsPeer::FLD_NAME, FieldsPeer::FLD_DESCRIPTION, FieldsPeer::FLD_TYPE, FieldsPeer::FLD_SIZE, FieldsPeer::FLD_NULL, FieldsPeer::FLD_AUTO_INCREMENT, FieldsPeer::FLD_KEY, FieldsPeer::FLD_FOREIGN_KEY, FieldsPeer::FLD_FOREIGN_KEY_TABLE, FieldsPeer::FLD_DYN_NAME, FieldsPeer::FLD_DYN_UID, FieldsPeer::FLD_FILTER, ),
BasePeer::TYPE_FIELDNAME => array ('FLD_UID', 'ADD_TAB_UID', 'FLD_INDEX', 'FLD_NAME', 'FLD_DESCRIPTION', 'FLD_TYPE', 'FLD_SIZE', 'FLD_NULL', 'FLD_AUTO_INCREMENT', 'FLD_KEY', 'FLD_FOREIGN_KEY', 'FLD_FOREIGN_KEY_TABLE', 'FLD_DYN_NAME', 'FLD_DYN_UID', 'FLD_FILTER', ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, )
BasePeer::TYPE_PHPNAME => array ('FldUid', 'AddTabUid', 'FldIndex', 'FldName', 'FldDescription', 'FldType', 'FldSize', 'FldNull', 'FldAutoIncrement', 'FldKey', 'FldForeignKey', 'FldForeignKeyTable', 'FldDynName', 'FldDynUid', 'FldFilter', 'AddTabTag', ),
BasePeer::TYPE_COLNAME => array (FieldsPeer::FLD_UID, FieldsPeer::ADD_TAB_UID, FieldsPeer::FLD_INDEX, FieldsPeer::FLD_NAME, FieldsPeer::FLD_DESCRIPTION, FieldsPeer::FLD_TYPE, FieldsPeer::FLD_SIZE, FieldsPeer::FLD_NULL, FieldsPeer::FLD_AUTO_INCREMENT, FieldsPeer::FLD_KEY, FieldsPeer::FLD_FOREIGN_KEY, FieldsPeer::FLD_FOREIGN_KEY_TABLE, FieldsPeer::FLD_DYN_NAME, FieldsPeer::FLD_DYN_UID, FieldsPeer::FLD_FILTER, FieldsPeer::ADD_TAB_TAG, ),
BasePeer::TYPE_FIELDNAME => array ('FLD_UID', 'ADD_TAB_UID', 'FLD_INDEX', 'FLD_NAME', 'FLD_DESCRIPTION', 'FLD_TYPE', 'FLD_SIZE', 'FLD_NULL', 'FLD_AUTO_INCREMENT', 'FLD_KEY', 'FLD_FOREIGN_KEY', 'FLD_FOREIGN_KEY_TABLE', 'FLD_DYN_NAME', 'FLD_DYN_UID', 'FLD_FILTER', 'ADD_TAB_TAG', ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, )
);
/**
@@ -99,10 +102,10 @@ abstract class BaseFieldsPeer {
* e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
*/
private static $fieldKeys = array (
BasePeer::TYPE_PHPNAME => array ('FldUid' => 0, 'AddTabUid' => 1, 'FldIndex' => 2, 'FldName' => 3, 'FldDescription' => 4, 'FldType' => 5, 'FldSize' => 6, 'FldNull' => 7, 'FldAutoIncrement' => 8, 'FldKey' => 9, 'FldForeignKey' => 10, 'FldForeignKeyTable' => 11, 'FldDynName' => 12, 'FldDynUid' => 13, 'FldFilter' => 14, ),
BasePeer::TYPE_COLNAME => array (FieldsPeer::FLD_UID => 0, FieldsPeer::ADD_TAB_UID => 1, FieldsPeer::FLD_INDEX => 2, FieldsPeer::FLD_NAME => 3, FieldsPeer::FLD_DESCRIPTION => 4, FieldsPeer::FLD_TYPE => 5, FieldsPeer::FLD_SIZE => 6, FieldsPeer::FLD_NULL => 7, FieldsPeer::FLD_AUTO_INCREMENT => 8, FieldsPeer::FLD_KEY => 9, FieldsPeer::FLD_FOREIGN_KEY => 10, FieldsPeer::FLD_FOREIGN_KEY_TABLE => 11, FieldsPeer::FLD_DYN_NAME => 12, FieldsPeer::FLD_DYN_UID => 13, FieldsPeer::FLD_FILTER => 14, ),
BasePeer::TYPE_FIELDNAME => array ('FLD_UID' => 0, 'ADD_TAB_UID' => 1, 'FLD_INDEX' => 2, 'FLD_NAME' => 3, 'FLD_DESCRIPTION' => 4, 'FLD_TYPE' => 5, 'FLD_SIZE' => 6, 'FLD_NULL' => 7, 'FLD_AUTO_INCREMENT' => 8, 'FLD_KEY' => 9, 'FLD_FOREIGN_KEY' => 10, 'FLD_FOREIGN_KEY_TABLE' => 11, 'FLD_DYN_NAME' => 12, 'FLD_DYN_UID' => 13, 'FLD_FILTER' => 14, ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, )
BasePeer::TYPE_PHPNAME => array ('FldUid' => 0, 'AddTabUid' => 1, 'FldIndex' => 2, 'FldName' => 3, 'FldDescription' => 4, 'FldType' => 5, 'FldSize' => 6, 'FldNull' => 7, 'FldAutoIncrement' => 8, 'FldKey' => 9, 'FldForeignKey' => 10, 'FldForeignKeyTable' => 11, 'FldDynName' => 12, 'FldDynUid' => 13, 'FldFilter' => 14, 'AddTabTag' => 15, ),
BasePeer::TYPE_COLNAME => array (FieldsPeer::FLD_UID => 0, FieldsPeer::ADD_TAB_UID => 1, FieldsPeer::FLD_INDEX => 2, FieldsPeer::FLD_NAME => 3, FieldsPeer::FLD_DESCRIPTION => 4, FieldsPeer::FLD_TYPE => 5, FieldsPeer::FLD_SIZE => 6, FieldsPeer::FLD_NULL => 7, FieldsPeer::FLD_AUTO_INCREMENT => 8, FieldsPeer::FLD_KEY => 9, FieldsPeer::FLD_FOREIGN_KEY => 10, FieldsPeer::FLD_FOREIGN_KEY_TABLE => 11, FieldsPeer::FLD_DYN_NAME => 12, FieldsPeer::FLD_DYN_UID => 13, FieldsPeer::FLD_FILTER => 14, FieldsPeer::ADD_TAB_TAG => 15, ),
BasePeer::TYPE_FIELDNAME => array ('FLD_UID' => 0, 'ADD_TAB_UID' => 1, 'FLD_INDEX' => 2, 'FLD_NAME' => 3, 'FLD_DESCRIPTION' => 4, 'FLD_TYPE' => 5, 'FLD_SIZE' => 6, 'FLD_NULL' => 7, 'FLD_AUTO_INCREMENT' => 8, 'FLD_KEY' => 9, 'FLD_FOREIGN_KEY' => 10, 'FLD_FOREIGN_KEY_TABLE' => 11, 'FLD_DYN_NAME' => 12, 'FLD_DYN_UID' => 13, 'FLD_FILTER' => 14, 'ADD_TAB_TAG' => 15, ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, )
);
/**
@@ -233,6 +236,8 @@ abstract class BaseFieldsPeer {
$criteria->addSelectColumn(FieldsPeer::FLD_FILTER);
$criteria->addSelectColumn(FieldsPeer::ADD_TAB_TAG);
}
const COUNT = 'COUNT(FIELDS.FLD_UID)';

View File

@@ -53,7 +53,7 @@ abstract class BaseTranslation extends BaseObject implements Persistent {
* The value for the trn_value field.
* @var string
*/
protected $trn_value = '';
protected $trn_value;
/**
@@ -232,7 +232,7 @@ abstract class BaseTranslation extends BaseObject implements Persistent {
$v = (string) $v;
}
if ($this->trn_value !== $v || $v === '') {
if ($this->trn_value !== $v) {
$this->trn_value = $v;
$this->modifiedColumns[] = TranslationPeer::TRN_VALUE;
}