From a9586eb6016bdf53dd20ed0ea8c61246e5c2e377 Mon Sep 17 00:00:00 2001 From: Arash Date: Mon, 19 Apr 2021 10:49:19 -0400 Subject: [PATCH 1/2] add limiting factor to query model --- ...cc_add_limiting_factor_column_to_query_.py | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 superset/migrations/versions/d416d0d715cc_add_limiting_factor_column_to_query_.py diff --git a/superset/migrations/versions/d416d0d715cc_add_limiting_factor_column_to_query_.py b/superset/migrations/versions/d416d0d715cc_add_limiting_factor_column_to_query_.py new file mode 100644 index 0000000000000..53a0d8e2914bc --- /dev/null +++ b/superset/migrations/versions/d416d0d715cc_add_limiting_factor_column_to_query_.py @@ -0,0 +1,72 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +"""add_limiting_factor_column_to_query_model.py + +Revision ID: d416d0d715cc +Revises: 19e978e1b9c3 +Create Date: 2021-04-16 17:38:40.342260 + +""" + +# revision identifiers, used by Alembic. +revision = "d416d0d715cc" +down_revision = "19e978e1b9c3" + +from enum import Enum + +import sqlalchemy as sa +from alembic import op +from sqlalchemy.dialects import postgresql +from sqlalchemy.dialects.postgresql.base import PGDialect + +limiting_factor = postgresql.ENUM( + "DROPDOWN", + "QUERY", + "NOT_LIMITED", + "QUERY_AND_DROPDOWN", + "UNKNOWN", + name="limitingfactor", +) + + +def upgrade(): + bind = op.get_bind() + if isinstance(bind.dialect, PGDialect): + limiting_factor.create(bind) + with op.batch_alter_table("query") as batch_op: + batch_op.add_column( + sa.Column( + "limiting_factor", + sa.Enum( + "DROPDOWN", + "QUERY", + "NOT_LIMITED", + "QUERY_AND_DROPDOWN", + "UNKNOWN", + name="limitingfactor", + ), + server_default="UNKNOWN", + ) + ) + + +def downgrade(): + with op.batch_alter_table("query") as batch_op: + batch_op.drop_column("limiting_factor") + bind = op.get_bind() + if isinstance(bind.dialect, PGDialect): + limiting_factor.drop(bind) From 9db249b1f3753d45ddea21b50a1824aca95f5259 Mon Sep 17 00:00:00 2001 From: Arash Date: Mon, 26 Apr 2021 21:57:40 -0400 Subject: [PATCH 2/2] varchar instead of enum --- ...cc_add_limiting_factor_column_to_query_.py | 32 +------------------ 1 file changed, 1 insertion(+), 31 deletions(-) diff --git a/superset/migrations/versions/d416d0d715cc_add_limiting_factor_column_to_query_.py b/superset/migrations/versions/d416d0d715cc_add_limiting_factor_column_to_query_.py index 53a0d8e2914bc..47db03d4555b5 100644 --- a/superset/migrations/versions/d416d0d715cc_add_limiting_factor_column_to_query_.py +++ b/superset/migrations/versions/d416d0d715cc_add_limiting_factor_column_to_query_.py @@ -26,47 +26,17 @@ revision = "d416d0d715cc" down_revision = "19e978e1b9c3" -from enum import Enum - import sqlalchemy as sa from alembic import op -from sqlalchemy.dialects import postgresql -from sqlalchemy.dialects.postgresql.base import PGDialect - -limiting_factor = postgresql.ENUM( - "DROPDOWN", - "QUERY", - "NOT_LIMITED", - "QUERY_AND_DROPDOWN", - "UNKNOWN", - name="limitingfactor", -) def upgrade(): - bind = op.get_bind() - if isinstance(bind.dialect, PGDialect): - limiting_factor.create(bind) with op.batch_alter_table("query") as batch_op: batch_op.add_column( - sa.Column( - "limiting_factor", - sa.Enum( - "DROPDOWN", - "QUERY", - "NOT_LIMITED", - "QUERY_AND_DROPDOWN", - "UNKNOWN", - name="limitingfactor", - ), - server_default="UNKNOWN", - ) + sa.Column("limiting_factor", sa.VARCHAR(255), server_default="UNKNOWN",) ) def downgrade(): with op.batch_alter_table("query") as batch_op: batch_op.drop_column("limiting_factor") - bind = op.get_bind() - if isinstance(bind.dialect, PGDialect): - limiting_factor.drop(bind)