私の前の質問に続いて、 @ devと@stagingの間でユーザーを複製しないようにDrush sql-syncを設定するにはどうすればよいですか? 自動的に同期してはならない80を超えるテーブル(コンテンツ、ロールと権限、ユーザー、一時、キャッシュ)を手動で事前選択しました。私はこの解決策に完全に満足していません。どうして?私のフィルターの決定は、経験、直感、およびベストプラクティスメソッドを使用したい場合の推測に基づいているためです。
どのテーブルをスキップするかを適切に選択する方法drush sql-sync @dev @tst
とはdrush sql-sync @production @staging
?
私のセットアップ:
git.drupal.org ==>ローカルdrupal gitリポジトリ==> @dev-> @tst-> @staging-> @production(設定、静的コンテンツ、ロール、権限)@staging <-@production(コンテンツ、テストする本番シナリオ)
BenjaminMelançonらによるDrupal 7の決定的なガイドなどによると、
に表示されるテーブルのリストは次のとおりです
example.drushrc.php
。$options['structure-tables'] = array( 'common' => array('cache', 'cache_filter', 'cache_menu', 'cache_page', 'history', 'sessions', 'watchdog'), );
このリストにいくつかのテーブルを追加する必要がある場合があります。まず
cache
、名前にを含むテーブルのリストを検討することをお勧めしますdrush sql-query 'show tables;' | grep cache
などのテーブルをこのリストから削除し
imagecache_action
、残りを構造テーブルリストに追加します。
sql-sync
スキップしたテーブルでを実行した後、ターゲットサイトのキャッシュをクリアして、正しく機能することを確認する必要があります。
考慮すべき他のテーブルは何ですか?どうして?