私は、git と Drupal を含む、ローカル ワンプとサーバー ランプの間の移行制御の優れたソリューションを見つけようとしています。
Migrationクラスのおかげで、CodeIgniter を使用した移行制御の優れたソリューションを既に見つけています。post-receive
次に、フックを利用して実行php path/to/codeigniter/index.php migrate/index
するだけで、ファイルとともにデータベース設計を更新するだけです。
しかし、Drupal でこれまで見てきたことからすると、これは少しトリッキーです。現在、新しいモジュールなどを有効にするための Drush コマンドを何らかの方法で保存することを検討しています。アイデアは、単に実行する移行post-receive
に似たシステムを持つことであり、新しいモジュールはdrush en -y new_module
whosコマンドを介して有効になり、どこかに保存されます。
ここに示す理想的なフロー:
このフローを完了するために必要と思われるのは、bash スクリプトを で実行し、たとえばという名前のディレクトリ内にpost-receive
あるファイルをフェッチし、で説明したファイルに保存した変数に基づいて、番号を付けてファイルを実行することです。保存された値よりも大きい場合は、値を実行されたファイルの中で最大の数に設定します。001.txt
drush_commands
.gitignore
質問
ただし、理想的にはbashスクリプトでこれを行う方法と可能かどうかはわかりません。このアプローチは理想的なものであり、bash スクリプトはどのように機能しますか? または、ローカルの wamp とサーバーの両方で同じモジュール (およびその他の drush のもの) を有効にするより良い方法を知っていますpush
か?
おまけの質問:このアプローチを使用して、フィールド データやコンテンツ タイプなどの変更を処理できますか? ローカル バージョンとライブ バージョンの間で全体的な構造を同期する方法を正確に把握するのに苦労しています。