Попробуйте это сделать, как это сделал я:
1) создайте файл db_schema.xml с такой структурой :
<?xml version="1.0"?>
<schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:Setup/Declaration/Schema/etc/schema.xsd">
<table name="mi_declarative_schema_new" resource="default" comment="Declarative schema test">
<column xsi:type="int" name="id" identity="true" comment="ID Auto Increment" />
<column xsi:type="text" name="name" comment="name" />
<column xsi:type="text" name="email" comment="email" />
<constraint xsi:type="primary" referenceId="PRIMARY">
<column name="id" />
</constraint>
</table>
</schema>
2)Очистите кеш
php bin/magento cache:flush
3)Сгенерируйте db_schema_whitelist.json файл используя команду
php bin/magento setup:db-declaration:generate-whitelist --module-name=Mi_DeclarativeSchema
3)Запустите upgrade
php bin/magento setup:upgrade
После чего создастся новая таблица с колонками , которые мы указали :
4)Далее закомментируем ненужный нам столбец :
<?xml version="1.0"?>
<schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:Setup/Declaration/Schema/etc/schema.xsd">
<table name="mi_declarative_schema_new" resource="default" comment="Declarative schema test">
<column xsi:type="int" name="id" identity="true" comment="ID Auto Increment" />
<column xsi:type="text" name="name" comment="name" />
<!--<column xsi:type="text" name="email" comment="email" />-->
<constraint xsi:type="primary" referenceId="PRIMARY">
<column name="id" />
</constraint>
</table>
5)чистим кеш на всякий случай
6)запускаем генерацию whitelist опять .
php bin/magento setup:db-declaration:generate-whitelist --module-name=Mi_DeclarativeSchema
7)теперь запускаем upgrade
и воуля , наша колонка удалилась:
Суть в том, что нужно генерить whitelist после каждого изменения в базе, об этом можно почитать в документации подробнее. Но это временное решение (whitelist) и вскоре будет что-то новое, но пока что вот так .