移行のrss参照を削除しようとしています。 drupal管理インターフェイスのMigrateモジュールにyamlコードを配置すると、そのyamlコードへの参照が作成されますが、UIに参照を表示できるユーザーがいません。ツールの移行モジュールでは、drushコマンドにアクセスできますが、参照を削除することはできませんでした。
インポートへの参照を削除する方法を知っている人はいますか? $ drush ms
を使用してコマンドラインから参照を表示できます
私は検索しましたが、これを使用して見つけることしかできませんでしたが、機能しません。
$ drush php
>>> Drupal::configFactory()->getEditable('migrate_plus.migration.my_rss_importer')->delete();
これは、削除しようとしているCLIからのインポートのリストです。参考までに、上記のコードで言及されている「migrate_plus」は、migrateモジュールを補完する別のモジュールです。
Group: Default (default) Status Total Imported Unprocessed Last imported
berkeley_news_rss_importer_1 Idle 20 20 0 2017-12-09 23:08:36
berkeley_news_rss_importer_2 Idle 20 20 0 2017-12-09 23:12:34
berkeley_news_rss_importer_3 Idle 20 20 0 2017-12-09 23:14:03
berkeley_news_rss_importer_4 Idle 20 20 0 2017-12-09 23:20:04
berkeley_news_rss_importer_5 Idle 20 20 0 2017-12-09 23:33:17
berkeley_news_rss_importer_6 Idle 20 20 0 2017-12-09 23:42:26
berkeley_news_rss_importer_7 Idle 20 0 0 2017-12-10 00:11:17
berkeley_news_rss_importer_8 Idle 20 20 0 2017-12-11 09:46:45
berkeley_news_rss_importer_9 Idle 20 0 20
マイグレーションを削除して、drush ms
出力に表示されないようにしますか?これを行う:
インポートされたコンテンツの削除
2回目の質問を読んだとき、「既にインポートされているコンテンツを削除するにはどうしたらいいですか?」それがあなたの質問である場合、略してdrush migrate-rollback
またはdrush mr
を試してください。 drush mr --help
のドキュメントをご覧ください。
マイグレーションの削除
drush cim
を実行します。 migrate_plus.migration.MIGRATION_ID
という名前のファイルがあるはずです。確認を求められ、y
と言うと、関連する移行が削除されます。drush config-list
を実行します。次に、削除するすべての移行について、構成リストの出力で移行の名前を検索し、config-delete
を実行します。例:drush cdel migrate_plus.migration.MIGRATION_ID
長期的には構成管理の使用を検討してください。移行マッピングの削除
DROP TABLE IF EXISTS migrate_map_MIGRATION_ID, migrate_messages_MIGRATION_ID
。これを実行すると、rollback
を実行できなくなります。それが役に立てば幸い。
移行と移行はエンティティです。次のコードはMigrationGroup :: delete()から変更されたもので、グループ内の各移行を見つけて削除します。
$migration_to_delete = 'my_rss_importer';
$migration = \Drupal::entityTypeManager()
->getStorage('migration')
->load($migration_to_delete);
$migration->delete();
これはCache :: invalidateTags(['migration_plugins'])を呼び出すので、キャッシュをクリアすると、キャッシュされたプラグインが削除されることに注意してください。