Upgrade and remove

For arlanix/notification 1.0.0

Upgrade and remove

Upgrade

composer update arlanix/notification --with-all-dependencies
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f
bin/magento cache:flush

A deploy that runs setup:upgrade against the running site's cache cleans the config cache first: see Troubleshooting.

Restart a consumer that runs under supervisor, so it runs the new code; one the cron starts picks it up on its next run. Deliveries queued during the upgrade are kept: they are rows, and the cron puts back any whose queue message was lost.

Remove

Removing the modules deletes their tables: topics, subscriptions, rules, the message log and monitoring's states and sign-ins.

bin/magento module:disable Arlanix_NotificationMonitoring Arlanix_NotificationEvent Arlanix_NotificationDiscord \
    Arlanix_NotificationSlack Arlanix_NotificationTelegram Arlanix_NotificationSmtp Arlanix_Notification
bin/magento setup:upgrade
composer remove arlanix/notification

Keep this order. setup:upgrade drops a disabled module's tables only while its code is still there: the declarative schema drops what a module's db_schema_whitelist.json lists, and reads it from the modules it finds. Run after composer remove, it finds no whitelist and leaves the tables, which then have to be dropped by hand.

What stays: the settings in core_config_data, which DELETE FROM core_config_data WHERE path LIKE 'arlanix_notification/%' removes, and the arlanix_admin_device cookie in the admins' browsers, which expires by itself.

A module that publishes and only suggests Arlanix Notifications goes on working: its events find no listener and its topic select is empty. One that requires it has to be removed first.

Removing only one way of delivery, such as Arlanix_NotificationTelegram, keeps its subscriptions, which then show telegram (not installed); their deliveries fail until the module is back. Removing only the store's events or monitoring keeps the rules of their events, which send nothing until the module is back.