This is an automated email from the ASF dual-hosted git repository. hugh pushed a commit to branch rm-time-range in repository https://gitbox.apache.org/repos/asf/superset.git
commit 581d90ef927eb50cea7741fd8e18a1b07b197ec4 Author: hughhhh <[email protected]> AuthorDate: Tue Mar 29 18:27:52 2022 -0700 template for remove time_range_endpoints from query context --- ...2ed890b36b94_rm_time_range_endpoints_from_qc.py | 64 ++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/superset/migrations/versions/2ed890b36b94_rm_time_range_endpoints_from_qc.py b/superset/migrations/versions/2ed890b36b94_rm_time_range_endpoints_from_qc.py new file mode 100644 index 0000000..a3b1523 --- /dev/null +++ b/superset/migrations/versions/2ed890b36b94_rm_time_range_endpoints_from_qc.py @@ -0,0 +1,64 @@ +# 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. +"""rm_time_range_endpoints_from_qc + +Revision ID: 2ed890b36b94 +Revises: 58df9d617f14 +Create Date: 2022-03-29 18:03:48.977741 + +""" + +# revision identifiers, used by Alembic. +revision = "2ed890b36b94" +down_revision = "58df9d617f14" + +import json + +import sqlalchemy as sa +from alembic import op +from sqlalchemy.dialects import postgresql +from sqlalchemy.ext.declarative import declarative_base + +from superset import db + +Base = declarative_base() + + +class MyModel(Base): + __tablename__ = "MyModel" + id = sa.Column(sa.Integer, primary_key=True) + queries = sa.Column(sa.Text) + + +def upgrade(): + bind = op.get_bind() + session = db.Session(bind=bind) + + for m in session.query(MyModel): + queries = json.loads(m.queries) + for q in queries: + extras = q.get("extras") + if extras: + extras.pop("time_range_endpoints", None) + m.queries = json.dumps(queries) + + session.commit() + session.close() + + +def downgrade(): + pass
