setCascade() public method

public setCascade ( $cascade = TRUE )
Ejemplo n.º 1
0
 public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, 
                         PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet) {
   $truncate = new PHPUnit_Extensions_Database_Operation_Truncate(true);
   $truncate->setCascade(true);
   $dataset = new OBM_Database_CsvDataSet(';');
   $dataset->addTable('Entity');
   $truncate->execute($connection, $dataset);
   
   $pdo = $connection->getConnection(); // we retrieve the PDO object
   parent::execute($connection, $dataSet);
   
   $dsIterator = $dataSet->getIterator();
   foreach ($dsIterator as $table) {
     $tableName = $table->getTableMetaData()->getTableName();
     if ($dataSet->isEntityTable($tableName)) {
       $entities = $dataSet->getEntityName($tableName);
       if(!is_array($entities)) $entities = array($entities);
       foreach($entities as $entity) {
         for ($i = 1; $i <= $table->getRowCount(); $i++) {
           $pdo->exec('INSERT INTO Entity (entity_mailing) VALUES (TRUE)');
           $entityId = $pdo->lastInsertId();
           $query = 'INSERT INTO '.ucfirst($entity).'Entity ('.$entity.'entity_entity_id, '.$entity.'entity_'.$entity.'_id )
                     SELECT MAX(entity_id), '.$i.' FROM Entity';
           $pdo->exec($query);
         }
       }
     }
   }
 }
Ejemplo n.º 2
0
 /**
  * Returns a truncate database operation.
  *
  * @param bool $cascadeTruncates Set to true to force truncates to cascade on databases that support this.
  * @return PHPUnit_Extensions_Database_Operation_IDatabaseOperation
  */
 public static function TRUNCATE($cascadeTruncates = FALSE)
 {
     $truncate = new PHPUnit_Extensions_Database_Operation_Truncate();
     $truncate->setCascade($cascadeTruncates);
     return $truncate;
 }
 /**
  * Returns the database operation executed in test setup.
  *
  * @return PHPUnit_Extensions_Database_Operation_DatabaseOperation
  */
 protected function getSetUpOperation()
 {
     $op = new PHPUnit_Extensions_Database_Operation_Truncate();
     $op->setCascade();
     return $op;
 }