Drupal 8つの移行プロセスを記述した場合、カスタム移行モジュールを再インストールした場合にのみ新しい移行プロセスを更新できます。drushcrが機能しません。
説明:
つまり、1つのモジュール、つまりcm_migrations
、2つのマイグレーションがあります。
cm_users
cm_tags
drush ms
そうですか:
Group: beer Status Total Imported Unprocessed Last imported
cm_users Idle 3 3 0 2016-02-09 16:56:25
cm_tags Idle 4 0 4
新しい移行プロセスを記述します。
cm_beers
drush cr; drush ms
と以前と同じ表が表示されます。
アンインストールしてインストールした場合のみcm_migrations
3つの移行プロセスを確認できます。
Group: beer Status Total Imported Unprocessed Last imported
cm_users Idle 3 3 0 2016-02-09 16:56:25
cm_tags Idle 4 0 4
cm_beers Idle 4 0 4
モジュールを再インストールせずに移行プロセスを更新する方法についての手がかりはありますか?
ありがとう
私はこれが私のために働いたことを発見しました
drush config-import --partial --source = modules/custom/migrate_module/config/install /
マイグレーションはMODULENAME/migrations
サブディレクトリ。移行構成を変更した後、単純なdrush cr
変更を適用するには十分です。
設定派生者は、移行設定を移行プラグインに戻します。
この変更レコードを参照してください: 移行は構成エンティティの代わりにプラグインです
そのためのモジュールがあります。通常、ymlファイルはインストール時にのみロードされます。
このモジュールでは、自動的にインポートされるモジュール構成ファイルを定義できます。
https://www.drupal.org/project/config_devel
このブログ投稿もご覧ください: https://blog.liip.ch/archive/2016/05/04/using-the-new-drupal-8-migration-api-module.html
独自の開発Drupal 8移行モジュールとキャッシュの問題との戦い
これで、移行マッピング全体がyamlファイルで行われるようになりました。しかし、独自の移行yamlファイルを作成するのはどうですか?
残念ながら、新しいDrupal 8開発者にはいくつかの落とし穴があります。構成管理インターフェース( https://www.drupal.org/documentation/administer/config )of Drupal 8、「config/install」ディレクトリ内のすべてのymlファイルは、モジュールのインストール時にのみインポートされます。
これは、新しい構成ファイルを開発する場合には非常に非現実的です。これに対処するために、キャッシュの問題を解決する「構成開発」モジュール( https://www.drupal.org/project/config_devel )をインストールできます。すべてのリクエストで特定のymlファイルをインポートすることが可能です。ただし、残念ながら、drushコマンドはまだサポートされていません。したがって、module.info.ymlの新しいセクションにインポートするすべてのyamlファイルを追加する必要があります。
config_devel:
install:
- migrate_plus.migration.page_node
- migrate_plus.migration.menu_item
- migrate_plus.migration_group.liip
次に、ymlファイルを更新した後、次のコマンドを実行します。これにより、新しい構成ファイルが構成管理インターフェースにインポートされます。
drush cdi <module_name>
drush cr
私は同じ問題、つまり開発中に移行構成を更新する方法に苦労していました。これが私が終わったものです:
drush cdi1 path-to-config-dir-form-site-root/your-config.yml
config-devel-import-one
、コマンド(cdi1
(略して)は、アクティブな構成に単一の構成をインポートすることを目的としています。上記のconfig_develモジュールの一部です。
FLYのソリューションでは成功しませんでした。 yamlを更新するには、migrate_toolsもアンインストールする必要がありました。そして、devel_config
。
私はこの更新された構成を見つけました:
$ drush @site_alias pmu mymodule, migrate_tools, migrate_plus -y
$ drush @site_alias en mymodule, migrate_tools, migrate_plus -y
Peter J Lordのソリューションのフォローアップとして、(新規または更新されたymls用の)configディレクトリーをsettings.phpファイルに追加することもできます。例えば。:
$config_directories['fresh'] = 'sites/default/fresh';
そのディレクトリに新しいymlファイルを配置し、drushのconfig-importコマンドを使用して新しい構成設定をインポートします。
drush cim fresh --partial