web-dev-qa-db-ja.com

Drushサイトインストールでのmysqlデータベースの自動消去

サイトインストールを実行すると、データベースのクリアを自動化できますか?例えばここに私のdrushコマンドがあります:

drush si geoslate --db-url='mysql://root:root@localhost/geo_test' --site-name=Geoslate

ただし、dbを最初にクリアする必要があります。このプロセスを自動化できますか?

4
Andrew Welch

Chapab は正しいですが、drush 5.7を使用している場合、これはサイトインストールでは不要です。既存のデータベースがある場合、drushは既存のデータベース内のすべてのテーブルを削除することを警告します。

例えば:

drush dl drupal --drupal-project-rename=test
cd test
% drush site-install standard --db-url=mysql://root:[email protected]/test --site-name=test
You are about to create a sites/default/files directory and create a sites/default/settings.php file and DROP all tables in your 'test' database. Do you want to continue? (y/n): y
No tables to drop.                                                                          [ok]
Starting Drupal installation. This takes a few seconds ...                                  [ok]
Installation complete.  User name: admin  User password: 6SkT989sPX

では、既存の「test」ディレクトリに対してsite-installコマンドを再実行してみましょう

% drush site-install standard --db-url=mysql://root:[email protected]/test --site-name=test         130 ↵
You are about to DROP all tables in your 'test' database. Do you want to continue? (y/n):
8
Screenack

clearedによって、すべてのテーブルを削除することを意味する場合、使用できますdrush sql-drop

指定されたデータベースのすべてのテーブルを削除します。

sql-dropの公式ドキュメント

6
Chapabu