web-dev-qa-db-ja.com

Webサイトから別のWebサイトに構成変更を追加するにはどうすればよいですか?

これは私がやろうとしていることです:

私はwebsite Aを持っています。ここで設定を変更し、他のものを追加します。次に、WebサイトBを作成します。 WebサイトAからこのWebサイトに構成変更を追加したいと思います。

私は両方のWebサイトのUUIDが同じである必要があることを知っています(ステージングおよび本番環境のように)。 「 別のサイトに設定をインポートするにはどうすればよいですか? 」では、drush cget system.siteを使用してこれを行う方法を説明しています。

問題は、WebサイトAでdrush cget system.siteを実行すると、次のDrushエラーが発生することです。

コマンドconfig-getを実行するには、より高いbootstrapレベルが必要です-このコマンドを実行するには、より機能的なDrupal環境からdrushを呼び出す必要があります。[エラー] drushコマンド 'cget system.site'を実行できませんでした。[エラー] Drushを開始できませんでした(ブートストラップ)Drupalデータベース。[エラー]ヒント:これは、Drushが* bootstrapインストールされていないサイト、またはデータベースが構成されていないサイトです。この場合、使用するURIを指定して、データベースが設定されている別のサイトを選択できます。コマンドラインの--uriパラメータ。詳細については、drush topic docs-aliasesを参照してください。*ソケットを介してデータベースに接続します。ソケットファイルが間違っているか、php-cliがjailされたシェルでそれにアクセスできない可能性があります。参照- http://drupal.org/node/1428638 詳細。

Drush was attempting to connect to:
 Drupal version         :  8.0.0-rc1
 Site URI               :  http://default
 Database driver        :  mysql
 Database hostname      :  localhost
 Database port          :  3306
 Database username      :  root
 Database name          :  s_1
 PHP executable         :  /Applications/MAMP/bin/php/php5.5.10/bin//php
 PHP configuration      :  /Applications/MAMP/bin/php/php5.5.10/conf/php.ini
 PHP OS                 :  Darwin
 Drush script           :  /Users/myname/.composer/vendor/drush/drush/drush.php
 Drush version          :  8.0-dev
 Drush temp directory   :  /tmp
 Drush configuration    :
 Drush alias files      :
 Drupal root            :  /Applications/MAMP/htdocs/s1
 Site path              :  sites/default
 Sync config path       :  sites/default/files/config_bZM1aJhLcWGpFZJEzfEw_pKF4g71jOdkSRti30k540BAwE9GQ4U6p469a9VxyJS4j4JVfC58qg/sync

私はdrushの最新バージョンをインストールしました.。 Drupal 8のリリース候補で作業しています。UUIDを取得する別の方法はありますか?またはあなたはすでにこれをした誰かのチュートリアルまたはビデオ/ブログ投稿を持っていますか?

UPDATE:

OK、ウェブサイトAからUUIDを取得し、ウェブサイトBのUUIDを変更して、UUIDが同じになるようにしました。

その後、ウェブサイトAのシステムサイトスローガンを変更しました。

次に、WebサイトAで構成のエクスポートを実行しました。しかし、WebサイトBに構成をインポートしようとすると、同期する新しいファイルが137個ありました。 UUIDは、次のようなすべてのファイルで異なります。

enter image description here

同期しようとすると、次のエラーが発生しました: enter image description here

6
nielsv

インポートされた構成でのUUIDの採用を強制的にconfig-importがデータベースに挿入できるようにすることについて Drushの問題のキューでの議論 がありました。これを許可することの問題は、この操作がすべての構成(たとえば、すべてのコンテンツタイプ)を削除してから再作成することと同等であり、その構成に関連付けられているすべてのデータ(たとえば、サイト内のすべてのページ)。 --forceフラグを使用した場合でも、サイトを完全に消去することは、config-import操作の副作用をあまりにも驚くべきことであると考えられていたため、この使用例はサポートされません。

現在の考えでは、サイトのUUIDを強制的に変更する適切なタイミングは、サイトのインストール時です。現時点では、Drushのsite-installコマンドはこれを直接サポートしていません。ただし、この機能を実行する 構成インポートインストールプロファイル がAlex Pottによって作成されました。 Drush site-installからこれを使用 が可能である必要があります。

ただし、一般に、ユースケースで構成をあるサイトから別のサイトに移動する場合は、構成システムではなく features を使用する必要があります。

8
greg_1_anderson

私はウェブサイトAを持っており、そこで設定の変更やその他のものを追加しています。次に、WebサイトBを作成します。WebサイトAからこのWebサイトに構成変更を追加したいと思います。

Drupal構成管理のユースケースではありません。構成を同期するには、サイトBがサイトAのデータベースクローンである必要があります。

1
cilefen

モジュールを試しましたか 機能 2つのサイト間で多くの異なる設定を移動できる人はいますか?

0
Göran