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)); }
/** * 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; }
/** * 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 } }
/** * 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; }
/** * 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; }
/** * 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); }