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