public function testGetIndexDDLFulltext()
 {
     $table = new Table('foo');
     $column1 = new Column('bar1');
     $column1->getDomain()->copy($this->getPlatform()->getDomainForType('LONGVARCHAR'));
     $table->addColumn($column1);
     $index = new Index('bar_index');
     $index->addColumn($column1);
     $vendor = new VendorInfo('mysql');
     $vendor->setParameter('Index_type', 'FULLTEXT');
     $index->addVendorInfo($vendor);
     $table->addIndex($index);
     $expected = 'FULLTEXT INDEX `bar_index` (`bar1`)';
     $this->assertEquals($expected, $this->getPLatform()->getIndexDDL($index));
 }
Exemplo n.º 2
0
 /**
  * Gets a new VendorInfo object for this platform with specified params.
  *
  * @param      array $params
  */
 protected function getNewVendorInfoObject(array $params)
 {
     $type = $this->getGeneratorConfig()->getConfiguredPlatform()->getDatabaseType();
     $vi = new VendorInfo($type);
     $vi->setParameters($params);
     return $vi;
 }
Exemplo n.º 3
0
 /**
  * Sets an associated VendorInfo object.
  *
  * @param  mixed      $data VendorInfo object or XML attrib data (array)
  * @return VendorInfo
  */
 public function addVendorInfo($data)
 {
     if ($data instanceof VendorInfo) {
         $vi = $data;
         $this->vendorInfos[$vi->getType()] = $vi;
         return $vi;
     } else {
         $vi = new VendorInfo();
         $vi->loadFromXML($data);
         return $this->addVendorInfo($vi);
         // call self w/ different param
     }
 }
Exemplo n.º 4
0
 /**
  * Gets a new merged VendorInfo object.
  * @param      VendorInfo $info
  * @return     VendorInfo new object with merged parameters
  */
 public function getMergedVendorInfo(VendorInfo $merge)
 {
     $newParams = array_merge($this->getParameters(), $merge->getParameters());
     $newInfo = new VendorInfo($this->getType());
     $newInfo->setParameters($newParams);
     return $newInfo;
 }
Exemplo n.º 5
0
 /**
  * Returns a new VendorInfo object that combines two VendorInfo objects.
  *
  * @param  VendorInfo $info
  * @return VendorInfo
  */
 public function getMergedVendorInfo(VendorInfo $info)
 {
     $params = array_merge($this->parameters, $info->getParameters());
     $newInfo = new VendorInfo($this->type);
     $newInfo->setParameters($params);
     return $newInfo;
 }
Exemplo n.º 6
0
 /**
  * Adds a new VendorInfo instance to this current model object.
  *
  * @param  VendorInfo|array $vendor
  * @return VendorInfo
  */
 public function addVendorInfo($vendor)
 {
     if ($vendor instanceof VendorInfo) {
         $this->vendorInfos[$vendor->getType()] = $vendor;
         return $vendor;
     }
     $vi = new VendorInfo();
     $vi->loadMapping($vendor);
     return $this->addVendorInfo($vi);
 }