Why the table column is not deleted after changing the db_schema.xml?
I have added delete column sample code for name column. Magento added delete column for disabled="true" .
<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_test" resource="default" comment="Declarative schema test">
<column xsi:type="int" name="id" identity="true" comment="ID Auto Increment" />
<column xsi:type="varchar" name="name" length="1024" nullable="false" comment="Name" disabled="true"/>
<constraint xsi:type="primary" referenceId="PRIMARY">
<column name="id" />
</constraint>
</table>
</schema>
The problem was in whitelist https://devdocs.magento.com/guides/v2.3/extension-dev-guide/declarative-schema/migration-commands.html#create-whitelist
You have to regenerate whitelist for your module every time you delete something in your XML.