GitHub user csronakpadaliya created a discussion: superset db upgrade fails 
with migration generated immediately after fresh setup of Apache Superset 4.1.4 
(PostgreSQL)

Hi team,

I have set up Apache Superset 4.1.4 on my local machine.
The setup works fine using the default database.

After that, I switched the metadata database to PostgreSQL.
At this point, without touching or modifying any Superset models, I generated a 
migration using:

`superset db migrate -m "first migration added after setup"`

This unexpectedly created a migration file with several schema changes:

[2025-11-24_15-50_280e853c977c_first_migration_added_after_setup.py](https://github.com/user-attachments/files/23713247/2025-11-24_15-50_280e853c977c_first_migration_added_after_setup.py)

(Generated migration file attached below.)

Next, when I run:
`superset db upgrade`

I get the following error:
2025-11-24 15:52:15,923:INFO:superset.initialization:Setting database isolation 
level to READ COMMITTED
INFO  [alembic.env] Starting the migration scripts.
INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO  [alembic.runtime.migration] Will assume transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade 48cbb571fa3a -> 280e853c977c, 
first migration added after setup
Traceback (most recent call last):
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\sqlalchemy\engine\base.py",
 line 1910, in _execute_context
    self.dialect.do_execute(
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\sqlalchemy\engine\default.py",
 line 736, in do_execute
    cursor.execute(statement, parameters)
psycopg2.errors.UndefinedObject: type "limitingfactor" does not exist
LINE 1: ...TER TABLE query ALTER COLUMN limiting_factor TYPE limitingfa...
                                                             ^


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\scripts\superset.exe\__main__.py", 
line 6, in <module>
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\click\core.py", line 
1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\click\core.py", line 
1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\click\core.py", line 
1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\click\core.py", line 
1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\click\core.py", line 
1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\click\core.py", line 
783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\click\decorators.py",
 line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\flask\cli.py", line 
358, in decorator
    return __ctx.invoke(f, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\click\core.py", line 
783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\flask_migrate\cli.py",
 line 149, in upgrade        
    _upgrade(directory, revision, sql, tag, x_arg)
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\flask_migrate\__init__.py",
 line 98, in wrapped    
    f(*args, **kwargs)
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\flask_migrate\__init__.py",
 line 185, in upgrade   
    command.upgrade(config, revision, sql=sql, tag=tag)
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\alembic\command.py", 
line 403, in upgrade
    script.run_env()
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\alembic\script\base.py",
 line 583, in run_env      
    util.load_python_file(self.dir, "env.py")
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\alembic\util\pyfiles.py",
 line 95, in load_python_file
    module = load_module_py(module_id, path)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\alembic\util\pyfiles.py",
 line 113, in load_module_py
    spec.loader.exec_module(module)  # type: ignore
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\superset\extensions\../migrations\env.py", line 
142, in <module>
    run_migrations_online()
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\superset\extensions\../migrations\env.py", line 
133, in run_migrations_online    
    context.run_migrations()
  File "<string>", line 8, in run_migrations
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\alembic\runtime\environment.py",
 line 948, in run_migrations
    self.get_context().run_migrations(**kw)
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\alembic\runtime\migration.py",
 line 627, in run_migrations
    step.migration_fn(**kw)
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\superset\migrations\versions\2025-11-24_15-50_280e853c977c_first_migration_added_after_setup.py",
 line 71, in upgrade
    op.alter_column('query', 'limiting_factor',
  File "<string>", line 8, in alter_column
  File "<string>", line 3, in alter_column
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\alembic\operations\ops.py",
 line 1943, in alter_column
    return operations.invoke(alt)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\alembic\operations\base.py",
 line 445, in invoke   
    return fn(self, operation)
           ^^^^^^^^^^^^^^^^^^^
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\alembic\operations\toimpl.py",
 line 53, in alter_column
    operations.impl.alter_column(
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\alembic\ddl\postgresql.py",
 line 174, in alter_column
    self._exec(
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\alembic\ddl\impl.py",
 line 207, in _exec
    return conn.execute(construct, multiparams)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\sqlalchemy\engine\base.py",
 line 1385, in execute  
    return meth(self, multiparams, params, _EMPTY_EXECUTION_OPTS)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\sqlalchemy\sql\ddl.py",
 line 80, in _execute_on_connection
    return connection._execute_ddl(
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\sqlalchemy\engine\base.py",
 line 1477, in _execute_ddl
    ret = self._execute_context(
          ^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\sqlalchemy\engine\base.py",
 line 1953, in _execute_context
    self._handle_dbapi_exception(
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\sqlalchemy\engine\base.py",
 line 2134, in _handle_dbapi_exception
    util.raise_(
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\sqlalchemy\util\compat.py",
 line 211, in raise_    
    raise exception
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\sqlalchemy\engine\base.py",
 line 1910, in _execute_context
    self.dialect.do_execute(
  File "C:\Ronak\Apache 
Superset\GitHubRepo\superset\supersetDev\Lib\site-packages\sqlalchemy\engine\default.py",
 line 736, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedObject) type 
"limitingfactor" does not exist
LINE 1: ...TER TABLE query ALTER COLUMN limiting_factor TYPE limitingfa...
                                                             ^

[SQL: ALTER TABLE query ALTER COLUMN limiting_factor TYPE limitingfactor ]
(Background on this error at: https://sqlalche.me/e/14/f405)

**Expected Behavior:**
1. Running superset db migrate on a fresh install (without changing any models) 
should not generate schema diffs.
2. Running superset db upgrade should apply migrations successfully without 
errors.

Can anyone gives me solution or flow for how to apply migration in Apache 
Superset?



GitHub link: https://github.com/apache/superset/discussions/36236

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: 
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to