class BeerTerm in Migrate Plus 8.4
Same name and namespace in other branches
- 8.5 migrate_example/src/Plugin/migrate/source/BeerTerm.php \Drupal\migrate_example\Plugin\migrate\source\BeerTerm
- 8 migrate_example/src/Plugin/migrate/source/BeerTerm.php \Drupal\migrate_example\Plugin\migrate\source\BeerTerm
- 8.2 migrate_example/src/Plugin/migrate/source/BeerTerm.php \Drupal\migrate_example\Plugin\migrate\source\BeerTerm
- 8.3 migrate_example/src/Plugin/migrate/source/BeerTerm.php \Drupal\migrate_example\Plugin\migrate\source\BeerTerm
This is an example of a simple SQL-based source plugin.
Source plugins are classes which deliver source data to the processing pipeline. For SQL sources, the SqlBase class provides most of the functionality needed - for a specific migration, you are required to implement the three simple public methods you see below.
This annotation tells Drupal that the name of the MigrateSource plugin implemented by this class is "beer_term". This is the name that the migration configuration references with the source "plugin" key.
Plugin annotation
@MigrateSource(
id = "beer_term"
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\migrate\Plugin\migrate\source\SourcePluginBase implements RollbackAwareInterface, MigrateSourceInterface
- class \Drupal\migrate\Plugin\migrate\source\SqlBase implements ContainerFactoryPluginInterface, RequirementsInterface
- class \Drupal\migrate_example\Plugin\migrate\source\BeerTerm
- class \Drupal\migrate\Plugin\migrate\source\SqlBase implements ContainerFactoryPluginInterface, RequirementsInterface
- class \Drupal\migrate\Plugin\migrate\source\SourcePluginBase implements RollbackAwareInterface, MigrateSourceInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of BeerTerm
File
- migrate_example/
src/ Plugin/ migrate/ source/ BeerTerm.php, line 23
Namespace
Drupal\migrate_example\Plugin\migrate\sourceView source
class BeerTerm extends SqlBase {
/**
* {@inheritdoc}
*/
public function query() {
// The most important part of a SQL source plugin is the SQL query to
// retrieve the data to be imported. Note that the query is not executed
// here - the migration process will control execution of the query. Also
// note that it is constructed from a $this->select() call - this ensures
// that the query is executed against the database configured for this
// source plugin.
$fields = [
'style',
'details',
'style_parent',
'region',
'hoppiness',
];
return $this
->select('migrate_example_beer_topic', 'met')
->fields('met', $fields)
->orderBy('style_parent', 'ASC');
}
/**
* {@inheritdoc}
*/
public function fields() {
// This method simply documents the available source fields provided by the
// source plugin, for use by front-end tools. It returns an array keyed by
// field/column name, with the value being a translated string explaining
// to humans what the field represents.
$fields = [
'style' => $this
->t('Beer style'),
'details' => $this
->t('Style details'),
'style_parent' => $this
->t('Parent style'),
// These values are not currently migrated - it's OK to skip fields you
// don't need.
'region' => $this
->t('Region the style is associated with'),
'hoppiness' => $this
->t('Hoppiness of the style'),
];
return $fields;
}
/**
* {@inheritdoc}
*/
public function getIds() {
// This method indicates what field(s) from the source row uniquely identify
// that source row, and what their types are. This is critical information
// for managing the migration. The keys of the returned array are the field
// names from the query which comprise the unique identifier. The values are
// arrays indicating the type of the field, used for creating compatible
// columns in the map tables that track processed items.
return [
'style' => [
'type' => 'string',
// 'alias' is the alias for the table containing 'style' in the query
// defined above. Optional in this case, but necessary if the same
// column may occur in multiple tables in a join.
'alias' => 'met',
],
];
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
BeerTerm:: |
public | function |
Returns available fields on the source. Overrides MigrateSourceInterface:: |
|
BeerTerm:: |
public | function |
Defines the source fields uniquely identifying a source row. Overrides MigrateSourceInterface:: |
|
BeerTerm:: |
public | function |
Overrides SqlBase:: |
|
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
SourcePluginBase:: |
protected | property | The backend cache. | |
SourcePluginBase:: |
protected | property | Whether this instance should cache the source count. | 1 |
SourcePluginBase:: |
protected | property | Key to use for caching counts. | |
SourcePluginBase:: |
protected | property | The current row from the query. | |
SourcePluginBase:: |
protected | property | The primary key of the current row. | |
SourcePluginBase:: |
protected | property | Information on the property used as the high-water mark. | |
SourcePluginBase:: |
protected | property | The key-value storage for the high-water value. | |
SourcePluginBase:: |
protected | property | The migration ID map. | |
SourcePluginBase:: |
protected | property | The iterator to iterate over the source rows. | |
SourcePluginBase:: |
protected | property | Flags whether source plugin will read the map row and add to data row. | |
SourcePluginBase:: |
protected | property | The entity migration object. | |
SourcePluginBase:: |
protected | property | The module handler service. | 2 |
SourcePluginBase:: |
protected | property | The high water mark at the beginning of the import operation. | |
SourcePluginBase:: |
protected | property | Whether this instance should not attempt to count the source. | 1 |
SourcePluginBase:: |
protected | property | Flags whether to track changes to incoming data. | 1 |
SourcePluginBase:: |
protected | function | Check if the incoming data is newer than what we've previously imported. | |
SourcePluginBase:: |
public | function | ||
SourcePluginBase:: |
protected | function | Gets the source count checking if the source is countable or using the iterator_count function. | 1 |
SourcePluginBase:: |
protected | function | Gets the cache object. | |
SourcePluginBase:: |
public | function | Gets the currentSourceIds data member. | |
SourcePluginBase:: |
protected | function | The current value of the high water mark. | |
SourcePluginBase:: |
protected | function | Get the name of the field used as the high watermark. | |
SourcePluginBase:: |
protected | function | Get information on the property used as the high watermark. | |
SourcePluginBase:: |
protected | function | Get the high water storage object. | 1 |
SourcePluginBase:: |
protected | function | Returns the iterator that will yield the row arrays to be processed. | |
SourcePluginBase:: |
protected | function | Gets the module handler. | |
SourcePluginBase:: |
public | function |
Gets the source module providing the source data. Overrides MigrateSourceInterface:: |
|
SourcePluginBase:: |
public | function | Gets the iterator key. | |
SourcePluginBase:: |
public | function | The migration iterates over rows returned by the source plugin. This method determines the next row which will be processed and imported into the system. | |
SourcePluginBase:: |
public | function |
Performs post-rollback tasks. Overrides RollbackAwareInterface:: |
|
SourcePluginBase:: |
public | function |
Adds additional data to the row. Overrides MigrateSourceInterface:: |
50 |
SourcePluginBase:: |
public | function |
Performs pre-rollback tasks. Overrides RollbackAwareInterface:: |
|
SourcePluginBase:: |
public | function | Rewinds the iterator. | |
SourcePluginBase:: |
protected | function | Checks if the incoming row has changed since our last import. | |
SourcePluginBase:: |
protected | function | Save the new high water mark. | |
SourcePluginBase:: |
public | function | Checks whether the iterator is currently valid. | |
SqlBase:: |
protected | property | The count of the number of batches run. | |
SqlBase:: |
protected | property | Number of records to fetch from the database during each batch. | |
SqlBase:: |
protected | property | The database object. | 1 |
SqlBase:: |
protected | property | The query string. | |
SqlBase:: |
protected | property | State service for retrieving database info. | |
SqlBase:: |
public | function |
Checks if requirements for this plugin are OK. Overrides RequirementsInterface:: |
1 |
SqlBase:: |
public | function |
Gets the source count. Overrides SourcePluginBase:: |
6 |
SqlBase:: |
public static | function |
Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface:: |
1 |
SqlBase:: |
protected | function | Prepares query for the next set of data from the source database. | |
SqlBase:: |
protected | function |
Position the iterator to the following row. Overrides SourcePluginBase:: |
|
SqlBase:: |
public | function | Gets the database connection object. | 2 |
SqlBase:: |
protected | function |
Initializes the iterator with the source data. Overrides SourcePluginBase:: |
20 |
SqlBase:: |
protected | function | Checks if we can join against the map table. | 1 |
SqlBase:: |
protected | function | Adds tags and metadata to the query. | |
SqlBase:: |
protected | function | Wrapper for database select. | |
SqlBase:: |
protected | function | Gets a connection to the referenced database. | |
SqlBase:: |
public | function |
Constructs a \Drupal\Component\Plugin\PluginBase object. Overrides SourcePluginBase:: |
3 |
SqlBase:: |
public | function |
Prints the query string when the object is used as a string. Overrides MigrateSourceInterface:: |
|
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. |