모듈이 제거되었지만 Magento2의 데이터베이스에 남아있는 테이블


10

magento2에서 설치 관리자 스크립트를 사용하여 하나의 모듈 / 확장을 만들었습니다.

그 후에는 제거했지만 데이터베이스의 테이블은 그대로 유지됩니다.

누구든지 모듈 / 확장을 완전히 제거하고 데이터베이스에서 확장 / 모듈의 테이블을 제거하는 방법을 말해 줄 수 있습니까?

답변:


11

composer를 통해 모듈을 설치하면을 Setup/Uninstall.php실행할 때 실행될 파일을 만들 수 있습니다 bin/magento module:uninstall -r [Namespace]_[Module].

Uninstall.php파일은 다음과 같아야합니다 :

<?php

namespace Namespace\Module\Setup;

class Uninstall implements \Magento\Framework\Setup\UninstallInterface
{
    public function uninstall(
        \Magento\Framework\Setup\SchemaSetupInterface $setup,
        \Magento\Framework\Setup\ModuleContextInterface $context
    ) {
        if ($setup->tableExists('table_name_here')) {
            $setup->getConnection()->dropTable('table_name_here');
        }
    }
}

모듈을 수동으로 설치 한 경우 데이터베이스를 수동으로 정리하고 모듈이 추가 한 테이블을 삭제해야합니다.


모듈을 수동으로 설치했습니다
Surya

그런 다음 데이터베이스를 정리해야합니다.
Marius

1
나는이 같은 문제가 있습니다. 테이블을 수동으로 제거했지만을 사용하여 다시 설치할 수 없습니다 installer script.
HiMs
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.