Chris@0: [ Chris@0: * 'type' => 'integer', Chris@0: * 'unsigned' => FALSE, Chris@0: * 'size' => 'big', Chris@0: * ], Chris@0: * 'version' => [ Chris@0: * 'type' => 'string', Chris@0: * 'max_length' => 64, Chris@0: * 'is_ascii' => TRUE, Chris@0: * ], Chris@0: * ]; Chris@0: * @endcode Chris@12: * Chris@0: * If 'type' points to a field plugin with multiple columns and needs to Chris@0: * refer to a column different than 'value', the key of that column will be Chris@0: * appended as a suffix to the plugin name, separated by dot ('.'). Example: Chris@0: * @code Chris@0: * return [ Chris@0: * 'format' => [ Chris@0: * 'type' => 'text.format', Chris@0: * ], Chris@0: * ]; Chris@0: * @endcode Chris@12: * Chris@12: * Additional custom keys/values that are not part of field storage Chris@12: * definition can be added as shown below. The most common setting Chris@17: * passed along to the ID definition is table 'alias', used by the SqlBase Chris@17: * source plugin in order to distinguish between ambiguous column names - Chris@17: * for example, when a SQL source query joins two tables with the same Chris@17: * column names. Chris@0: * @code Chris@0: * return [ Chris@0: * 'nid' => [ Chris@0: * 'type' => 'integer', Chris@0: * 'alias' => 'n', Chris@0: * ], Chris@0: * ]; Chris@0: * @endcode Chris@0: * Chris@0: * @see \Drupal\Core\Field\FieldStorageDefinitionInterface::getSettings() Chris@0: * @see \Drupal\Core\Field\Plugin\Field\FieldType\IntegerItem Chris@0: * @see \Drupal\Core\Field\Plugin\Field\FieldType\StringItem Chris@0: * @see \Drupal\text\Plugin\Field\FieldType\TextItem Chris@0: * @see \Drupal\migrate\Plugin\migrate\source\SqlBase Chris@0: */ Chris@0: public function getIds(); Chris@0: Chris@0: /** Chris@0: * Gets the source module providing the source data. Chris@0: * Chris@0: * @return string|null Chris@0: * The source module or NULL if not found. Chris@0: */ Chris@0: public function getSourceModule(); Chris@0: Chris@0: }