モジュールのアンインストール
この節では、1つ以上のモジュールをアンインストールする方法について説明します。 アンインストール時に、オプションでモジュールのコード、データベーススキーマ、データベースデータを削除できます。 最初にバックアップを作成して、後でデータを復元できます。
モジュールは、確実に使用できない場合にのみアンインストールする必要があります。 モジュールをアンインストールする代わりに、 モジュールの有効化または無効化で説明したようにモジュールを無効化できます。
composer.json ファイルで宣言された依存関係のみをチェックします。 composer.json ファイルで定義されている_not_のモジュールをアンインストールすると、このコマンドは依存関係を確認せずにモジュールをアンインストールします。 ただし、このコマンドは_not_を実行しますが、モジュールのコードをファイルシステムから削除します。 モジュールのコード (例:rm -rf <path to module>)を削除するには、ファイル システム ツールを使用する必要があります。 代わりに、 コンポーザー以外のモジュールを無効にできます。コマンドの使用状況:
bin/magento module:uninstall [--backup-code] [--backup-media] [--backup-db] [-r|--remove-data] [-c|--clear-static-content] \
{ModuleName} ... {ModuleName}
ここで、{ModuleName}は<VendorName>_<ModuleName>形式のモジュール名を指定します。 例えば、顧客モジュール名はMagento_Customerです。 モジュール名のリストを取得するには、magento module:statusと入力します
モジュールのアンインストールコマンドは、次のタスクを実行します。
-
指定したモジュールがコードベースに存在し、Composerによってインストールされたパッケージであることを確認します。
このコマンドは、Composer パッケージとして定義されたモジュールで のみ に機能します。
-
他のモジュールとの依存関係を確認し、満たされていない依存関係がある場合はコマンドを終了します。
これを回避するには、すべてのモジュールを同時にアンインストールするか、最初に依存モジュールをアンインストールします。
-
続行するには、確認を依頼します。
-
ストアをメンテナンスモードにします。
-
次のコマンドオプションを処理します。
table 0-row-3 1-row-3 2-row-3 3-row-3 オプション 意味 バックアップファイルの名前と場所 --backup-codeファイルシステムをバックアップします( varおよびpub/staticディレクトリを除く)。var/backups/<timestamp>_filesystem.tgz--backup-mediapub/media ディレクトリをバックアップします。 var/backups/<timestamp>_filesystem_media.tgz--backup-dbデータベースをバックアップします。 var/backups/<timestamp>_db.gz -
--remove-dataが指定されている場合は、モジュールのUninstallクラスで定義されているデータベース スキーマとデータを削除します。指定された各モジュールをアンインストールするには、その
Uninstallクラスでuninstallメソッドを呼び出します。 このクラスはMagento\Framework\Setup\UninstallInterfaceから継承する必要があります。 -
指定されたモジュールを
setup_moduleデータベース テーブルから削除します。 -
指定されたモジュールを デプロイメント設定のモジュールリストから削除します。
-
composer removeを使用してコードベースからコードを削除します。note note NOTE モジュール alwaysをアンインストールすると、 composer removeが実行されます。--remove-dataオプションは、モジュールのUninstallクラスによって定義されたデータベース データとスキーマを削除します。 -
キャッシュをクリーニングします。
-
生成されたクラスを更新します。
-
--clear-static-contentが指定されている場合、生成された静的ビューファイル をクリーンアップします。 -
メンテナンスモードからストアを取り除きます。
例えば、別のモジュールが依存しているモジュールをアンインストールしようとすると、次のメッセージが表示されます。
magento module:uninstall Magento_SampleMinimal
Cannot uninstall module 'Magento_SampleMinimal' because the following module(s) depend on it:
Magento_SampleModifyContent
1つの代替策として、モジュールファイルシステム、pub/media個のファイル、およびデータベーステーブルをバックアップした後に両方のモジュールをアンインストールしますが、モジュールのデータベーススキーマまたはデータを not 削除します。
bin/magento module:uninstall Magento_SampleMinimal Magento_SampleModifyContent --backup-code --backup-media --backup-db
次のようなメッセージが表示されます。
You are about to remove code and/or database tables. Are you sure?[y/N]y
Enabling maintenance mode
Code backup is starting...
Code backup filename: 1435261098_filesystem_code.tgz (The archive can be uncompressed with 7-Zip on Windows systems)
Code backup path: /var/www/html/magento2/var/backups/1435261098_filesystem_code.tgz
[SUCCESS]: Code backup completed successfully.
Media backup is starting...
Media backup filename: 1435261098_filesystem_media.tgz (The archive can be uncompressed with 7-Zip on Windows systems)
Media backup path: /var/www/html/magento2/var/backups/1435261098_filesystem_media.tgz
[SUCCESS]: Media backup completed successfully.
DB backup is starting...
DB backup filename: 1435261098_db.gz (The archive can be uncompressed with 7-Zip on Windows systems)
DB backup path: /var/www/html/magento2/var/backups/1435261098_db.gz
[SUCCESS]: DB backup completed successfully.
You are about to remove a module(s) that might have database data. Remove the database data manually after uninstalling, if desired.
Removing Magento_SampleMinimal, Magento_SampleModifyContent from module registry in database
Removing Magento_SampleMinimal, Magento_SampleModifyContent from module list in deployment configuration
Removing code from Magento codebase:
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Removing magento/sample-module-modifycontent (1.0.0)
Removing Magento/SampleModifycontent
- Removing magento/sample-module-minimal (1.0.0)
Removing Magento/SampleMinimal
Writing lock file
Generating autoload files
Cache cleared successfully.
Generated classes cleared successfully.
Alert: Generated static view files were not cleared. You can clear them using the --clear-static-content option. Failure to clear static view files might cause display issues in the Admin and storefront.
Disabling maintenance mode
ファイルシステム、データベース、またはメディアファイルをロールバックする
コードベースをバックアップした状態に戻すには、次のコマンドを使用します。
bin/magento setup:rollback [-c|--code-file="<filename>"] [-m|--media-file="<filename>"] [-d|--db-file="<filename>"]
ここで、<filename>は<app_root>/var/backups ディレクトリ内のバックアップ ファイルの名前です。 バックアップ ファイルのリストを表示するには、magento info:backups:listと入力します
--media-file オプションは、指定されたロールバックファイルから復元する前に、pub/media ディレクトリの下のメディアアセットを削除します。 このコマンドを使用する前に、保持するファイルシステムまたはデータベースを変更していないことを確認してください。magento info:backups:listと入力しますこのコマンドは、次のタスクを実行します。
-
ストアをメンテナンスモードにします。
-
バックアップファイル名を確認します。
-
コードロールバックファイルを指定した場合:
a. ロールバック先の場所が書き込み可能であることを確認します(
pub/staticおよびvarフォルダーは無視されることに注意)。b. アプリケーションインストールディレクトリの下にあるすべてのファイルとディレクトリを削除します。
c. アーカイブ ファイルを保存先の場所に抽出します。
-
データベース・ロールバック・ファイルを指定した場合:
a. データベース全体をドロップします。
b. データベースのバックアップを使用してデータベースを復元します。
-
メディアロールバックファイルを指定した場合:
a. ロールバック先の場所が書き込み可能であることを確認します。
b.
pub/media以下のすべてのファイルとディレクトリを削除しますc. アーカイブ ファイルを保存先の場所に抽出します。
-
メンテナンスモードからストアを取り除きます。
例えば、コード(ファイルシステム)のバックアップを復元するには、次のコマンドを次の順序で入力します。
-
バックアップのリストを表示します。
code language-shell magento info:backups:list -
1433876616_filesystem.tgzという名前のファイル バックアップを復元:code language-shell magento setup:rollback --code-file="1433876616_filesystem.tgz"次のようなメッセージが表示されます。
code language-text Enabling maintenance mode Code rollback is starting ... Code rollback filename: 1433876616_filesystem.tgz Code rollback file path: /var/www/html/magento2/var/backups/1433876616_filesystem.tgz [SUCCESS]: Code rollback has completed successfully. Disabling maintenance mode
magento コマンドを再度実行するには、cd pwdを入力する必要がある場合があります。