web-dev-qa-db-ja.com

ソースストレージのサイトUUIDがターゲットストレージと一致しません

サイトのステージングインスタンスでdrush cim -yを実行すると、次のエラーが発生します。

Drupal\Core\Config\ConfigImporterException:構成の同期の検証中にエラーが発生しました。 Drupal\Core\Config\ConfigImporter-> validate()内(/var/www/xeno/docroot/core/lib/Drupal/Core/Config/ConfigImporter.phpの728行目)。
次の理由により、インポートが失敗しました:ソースストレージのサイトUUIDがターゲットストレージと一致しません。パラグラフタイプとパラグラフタイプイメージのエンティティが存在します。これらのエンティティは、インポートする前に削除する必要があります。

これは私がやったことです:

  1. ステージングからデータベースをコピーし、最新のコードを引き出しました

  2. ランdrush cex -y

  3. コミットされた構成

  4. 最新のコードのステージングとプルに行った

  5. drush cim -yを実行して、上記のエラーを取得します

ローカルおよびステージングでdrush cget system.site uuidを実行すると、同じUUIDが返されるため、このエラーが発生する理由がわかりません。

エラーを修正するにはどうすればよいですか?

10
albertski

実際、私はSFTPデプロイを使用していて、ステージングサイトにファイルsystem.site.ymlがありませんでした。すべてのファイルを再デプロイしただけで、問題は解消しました。

1
albertski

drushを使用してローカルサイトのUUIDを変更する でこれを修正できます。

また、設定を新しいデータベースにインポートする前に、drush entity-updates -ydrush en <module_name> -yを含む特定のモジュールを組み合わせて実行する必要もありました。

更新drush entity-updates -yはもう使用しないでください。 https://www.drupal.org/node/3034742 を参照してください

9
oknate

従来は、configをインポートする前に以下を使用します。

drush cset system.site uuid "6ba9bxxx-xxxx-438x-9c8x-e5x7x3d0x347"

またはdrupal console:

$ drupal config:override

Enter configuration name []:
> system.site

Enter the configuration key [uuid]:
> uuid

Enter the configuration value:
> 6ba9bxxx-xxxx-438x-9c8x-e5x7x3d0x347

より一般的なソリューション

これを何度も繰り返すのに飽きた人のために。これを自動的に行う方法の修正をついに手に入れました。 uuidを設定するには、drushを使用してconfig:importのプリコマンドを追加する必要があります。それについてここですべて読んでください: https://stefvanlooveren.me/blog/fixing-systemsite-uuid-config-import-problem-drupal-8

2