Bug description

I pulled from master, tried to execute superset db upgrade, and got an error saying that the themes table does not exist.

Screenshots/recordings

Image

Superset version

master / latest-dev

Python version

3.9

Node version

16

Browser

Chrome

Additional context

It looks like the migration exists in 2025-07-15_16-40_3fd555e76e3d_theme_crud.py and my database has the alembic version set to 363a9b1e8992 which is the expected previous migration. It seems the error is happening before the upgrade command has a chance to run.

I also checked and https://github.com/apache/superset/pull/34339 is present in git log.

Checklist

  • [ ] I have searched Superset docs and Slack and didn't find a solution to my problem.
  • [ ] I have searched the GitHub issue tracker and didn't find a similar bug report.
  • [ ] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Comment From: dosubot[bot]

There is no migration for a 'themes' table in Superset—this table does not exist in the schema, and all theme-related logic is handled in the UI, not the database. The error you saw happens when the app tries to seed themes before migrations are finished, often in Docker or multi-process setups.

A recent fix (PR #34339) was merged to master on 2025-07-29 that defers theme seeding until after the database schema is ready, which prevents this error. Make sure you're running the latest master with this fix. If you still hit the error, ensure that superset db upgrade completes before starting the app.

No manual migration for a 'themes' table is needed, and this error should not occur once the fix is in place.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other  Chat with Dosu Join Discord Share on X

Comment From: michael-s-molina

https://github.com/apache/superset/pull/34339 is present in git log. It's important to notice that it's not a fresh install, my master database existed previously.