Modul dihapus tetapi Tabel tersisa di database di Magento2

10

Saya telah membuat satu modul / ekstensi menggunakan script installer di magento2.

Setelah itu saya menghapusnya, tetapi tabel dalam database masih tetap seperti itu.

adakah yang bisa memberitahu saya cara menghapus modul / ekstensi sepenuhnya dan menghapus tabel / modul ekstensi dari database?

Surya
sumber

Jawaban:

11

Jika Anda memasang modul melalui komposer, Anda dapat membuat Setup/Uninstall.phpfile yang akan dieksekusi saat dijalankan bin/magento module:uninstall -r [Namespace]_[Module].

The Uninstall.phpfile harus terlihat seperti ini:

<?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');
        }
    }
}

Jika Anda menginstal modul secara manual, Anda perlu membersihkan database Anda secara manual juga membeli menjatuhkan tabel yang ditambahkan modul.

Marius
sumber
Saya telah menginstal modul secara manual
Surya
Maka Anda harus membersihkan sendiri database.
Marius
1
Saya mempunyai isu yang sama. saya telah menghapus tabel secara manual tetapi saya tidak dapat menginstalnya kembali menggunakan installer script.
HiMs