/** * {@inheritDoc} */ public function fieldToDb(CsvField $csvField) { $dbFields[] = new DbField($csvField->getName(), static::DB_FIELD_TYPE, $csvField->getLimit(), $csvField->getRequired(), $csvField->getNonSearchable(), $csvField->getUnique()); // set precision and scale provided by csv migration decimal field type definition foreach ($dbFields as &$dbField) { // skip if scale and precision are not defined if (empty($dbField->getLimit())) { continue; } // skip if scale and precision are not defined correctly if (false === strpos($dbField->getLimit(), '.')) { continue; } list($precision, $scale) = explode('.', $dbField->getLimit()); $options = $dbField->getOptions(); $options['precision'] = $precision; $options['scale'] = $scale; $dbField->setOptions($options); } return $dbFields; }
public function testGetLimit() { foreach ($this->getterProvider() as $v) { $csvField = new CsvField(array_shift($this->csvData)); $this->assertEquals($v[2], $csvField->getLimit()); } }
/** * {@inheritDoc} */ public function fieldToDb(CsvField $csvField) { $dbFields[] = new DbField($csvField->getName(), static::DB_FIELD_TYPE, $csvField->getLimit(), $csvField->getRequired(), $csvField->getNonSearchable(), $csvField->getUnique()); return $dbFields; }