3 namespace Drush\Commands\generate\Generators\Migrate;
5 use DrupalCodeGenerator\Command\BaseGenerator;
6 use DrupalCodeGenerator\Utils;
7 use Symfony\Component\Console\Input\InputInterface;
8 use Symfony\Component\Console\Output\OutputInterface;
9 use Symfony\Component\Console\Question\Question;
12 * Implements `generate migration` command.
14 class MigrationGenerator extends BaseGenerator
17 protected $name = 'migration';
18 protected $description = 'Generates the yml and PHP class for a Migration';
19 protected $templatePath = __DIR__;
24 protected function interact(InputInterface $input, OutputInterface $output)
26 $questions = Utils::defaultPluginQuestions() + [
27 'migration_group' => new Question('Migration group', 'default'),
28 'destination_plugin' => new Question('Destination plugin', 'entity:node'),
31 $vars = &$this->collectVars($input, $output, $questions);
32 $vars['class'] = Utils::camelize($vars['plugin_label']);
35 ->path('src/Plugin/migrate/source/{class}.php')
36 ->template('migration.twig');
39 ->path('config/install/migrate_plus.migration.{plugin_id}.yml')
40 ->template('migration.yml.twig');