superset: Upgrade to 0.37.1 has bug: column dbs.allow_cvas does not exist
Hi
I just upgraded superset from 0.36.0 to 0.37.1 per instructions in docs. Now when I try to open any dashboard or slice, I get a 500 error.
Expected results
The dashboards to open.
Actual results
A 500 error, with this stacktrace:
Sorry, something went wrong
500 - Internal Server Error
Stacktrace
Traceback (most recent call last):
File "/home/superset/.env/superset/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1278, in _execute_context
cursor, statement, parameters, context
File "/home/superset/.env/superset/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 593, in do_execute
cursor.execute(statement, parameters)
psycopg2.errors.UndefinedColumn: column dbs.allow_cvas does not exist
LINE 1: ...low_csv_upload, dbs.allow_ctas AS dbs_allow_ctas, dbs.allow_...
^
HINT: Perhaps you meant to reference the column "dbs.allow_ctas".
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/superset/.env/superset/lib/python3.6/site-packages/flask/app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "/home/superset/.env/superset/lib/python3.6/site-packages/flask/app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/superset/.env/superset/lib/python3.6/site-packages/flask/app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/superset/.env/superset/lib/python3.6/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/home/superset/.env/superset/lib/python3.6/site-packages/flask/app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "/home/superset/.env/superset/lib/python3.6/site-packages/flask/app.py", line 1936, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/superset/.env/superset/lib/python3.6/site-packages/flask_appbuilder/security/decorators.py", line 109, in wraps
return f(self, *args, **kwargs)
File "/home/superset/.env/superset/lib/python3.6/site-packages/superset/views/core.py", line 1616, in dashboard
for datasource, slices in datasources.items()
File "/home/superset/.env/superset/lib/python3.6/site-packages/superset/views/core.py", line 1616, in <dictcomp>
for datasource, slices in datasources.items()
File "/home/superset/.env/superset/lib/python3.6/site-packages/superset/connectors/base/models.py", line 276, in data_for_slices
data = self.data
File "/home/superset/.env/superset/lib/python3.6/site-packages/superset/connectors/sqla/models.py", line 602, in data
data_ = super().data
File "/home/superset/.env/superset/lib/python3.6/site-packages/superset/connectors/base/models.py", line 244, in data
"database": self.database.data, # pylint: disable=no-member
File "/home/superset/.env/superset/lib/python3.6/site-packages/sqlalchemy/orm/attributes.py", line 287, in __get__
return self.impl.get(instance_state(instance), dict_)
File "/home/superset/.env/superset/lib/python3.6/site-packages/sqlalchemy/orm/attributes.py", line 723, in get
value = self.callable_(state, passive)
File "/home/superset/.env/superset/lib/python3.6/site-packages/sqlalchemy/orm/strategies.py", line 760, in _load_for_state
session, state, primary_key_identity, passive
File "<string>", line 1, in <lambda>
File "/home/superset/.env/superset/lib/python3.6/site-packages/sqlalchemy/orm/strategies.py", line 850, in _emit_lazyload
session.query(self.mapper), primary_key_identity
File "/home/superset/.env/superset/lib/python3.6/site-packages/sqlalchemy/ext/baked.py", line 616, in _load_on_pk_identity
result = list(bq.for_session(self.session).params(**params))
File "/home/superset/.env/superset/lib/python3.6/site-packages/sqlalchemy/ext/baked.py", line 445, in __iter__
return q._execute_and_instances(context)
File "/home/superset/.env/superset/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 3528, in _execute_and_instances
result = conn.execute(querycontext.statement, self._params)
File "/home/superset/.env/superset/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1014, in execute
return meth(self, multiparams, params)
File "/home/superset/.env/superset/lib/python3.6/site-packages/sqlalchemy/sql/elements.py", line 298, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/home/superset/.env/superset/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1133, in _execute_clauseelement
distilled_params,
File "/home/superset/.env/superset/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1318, in _execute_context
e, statement, parameters, cursor, context
File "/home/superset/.env/superset/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1512, in _handle_dbapi_exception
sqlalchemy_exception, with_traceback=exc_info[2], from_=e
File "/home/superset/.env/superset/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 178, in raise_
raise exception
File "/home/superset/.env/superset/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1278, in _execute_context
cursor, statement, parameters, context
File "/home/superset/.env/superset/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 593, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedColumn) column dbs.allow_cvas does not exist
LINE 1: ...low_csv_upload, dbs.allow_ctas AS dbs_allow_ctas, dbs.allow_...
^
HINT: Perhaps you meant to reference the column "dbs.allow_ctas".
[SQL: SELECT dbs.created_on AS dbs_created_on, dbs.changed_on AS dbs_changed_on, dbs.id AS dbs_id, dbs.verbose_name AS dbs_verbose_name, dbs.database_name AS dbs_database_name, dbs.sqlalchemy_uri AS dbs_sqlalchemy_uri, dbs.password AS dbs_password, dbs.cache_timeout AS dbs_cache_timeout, dbs.select_as_create_table_as AS dbs_select_as_create_table_as, dbs.expose_in_sqllab AS dbs_expose_in_sqllab, dbs.allow_run_async AS dbs_allow_run_async, dbs.allow_csv_upload AS dbs_allow_csv_upload, dbs.allow_ctas AS dbs_allow_ctas, dbs.allow_cvas AS dbs_allow_cvas, dbs.allow_dml AS dbs_allow_dml, dbs.force_ctas_schema AS dbs_force_ctas_schema, dbs.allow_multi_schema_metadata_fetch AS dbs_allow_multi_schema_metadata_fetch, dbs.extra AS dbs_extra, dbs.encrypted_extra AS dbs_encrypted_extra, dbs.impersonate_user AS dbs_impersonate_user, dbs.server_cert AS dbs_server_cert, dbs.created_by_fk AS dbs_created_by_fk, dbs.changed_by_fk AS dbs_changed_by_fk
FROM dbs
WHERE dbs.id = %(param_1)s]
[parameters: {'param_1': 2}]
(Background on this error at: http://sqlalche.me/e/13/f405)
How to reproduce the bug
- Install version 0.36.0
- Setup some charts and dashboards
- Upgrade to version 0.37.0 using commands written in docs:
pip install apache-superset --upgrade
superset db upgrade
superset init
- Go to any dashboard/slice.
Environment
(please complete the following information):
- superset version:
Superset 0.37.1 - python version:
Python 3.6.11
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 16 (4 by maintainers)
Still facing same issue in 1.5.2, 2.0.0, 2.0.1. Must be something with the settings, but what?
Issue-Label Bot is automatically applying the label
#bugto this issue, with a confidence of 0.97. Please mark this comment with 👍 or 👎 to give our bot feedback!Links: app homepage, dashboard and code for this bot.
Since this problem doesn’t happen in the most recent released versions of superset, and this is a bug from a 0.x version, i’m going to close it out