Ecco alcune cose se qualcun altro si blocca in questo modo.
Innanzitutto, non eseguire un ./launcher cleanup, ma esegui un ./launcher start app per riavviare il tuo container esistente. Quindi potresti fare qualcosa come:
./launcher enter app
su - postgres
psql discourse
drop table ...
Senza il container in cui entrare e parlare direttamente con postgres, devi farlo durante la build del container aggiungendo qualcosa di simile al tuo app.yml:
hooks:
after_postgres:
- exec: /bin/bash -c 'sudo -u postgres psql discourse <<<' "drop table summary_sections;"
- exec: /bin/bash -c 'sudo -u postgres psql discourse <<<' "drop table theme_settings_migrations;"
Non so come siano state create quelle due tabelle in modo che le migrazioni fossero sballate, ma questa è stata una soluzione. Ed era più strano di così, perché il database era stato in qualche modo cancellato e una volta che ho risolto questo problema, era un database nuovo di zecca, quindi deve essersi fermato a metà di una migrazione a un certo punto.