You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by be...@apache.org on 2025/01/07 15:22:38 UTC

(superset) branch master updated: fix: remove old database constraint on the Dataset model (#29649)

This is an automated email from the ASF dual-hosted git repository.

beto pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git


The following commit(s) were added to refs/heads/master by this push:
     new b54de611d3 fix: remove old database constraint on the Dataset model (#29649)
b54de611d3 is described below

commit b54de611d3b4dc29f64d43e814883bd048205bdd
Author: Beto Dealmeida <ro...@dealmeida.net>
AuthorDate: Tue Jan 7 10:22:17 2025 -0500

    fix: remove old database constraint on the Dataset model (#29649)
---
 ...11_df3d7e2eb9a4_remove__customer_location_uc.py | 60 ++++++++++++++++++++++
 1 file changed, 60 insertions(+)

diff --git a/superset/migrations/versions/2024-07-19_16-11_df3d7e2eb9a4_remove__customer_location_uc.py b/superset/migrations/versions/2024-07-19_16-11_df3d7e2eb9a4_remove__customer_location_uc.py
new file mode 100644
index 0000000000..7db4d85f0b
--- /dev/null
+++ b/superset/migrations/versions/2024-07-19_16-11_df3d7e2eb9a4_remove__customer_location_uc.py
@@ -0,0 +1,60 @@
+# 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.
+"""
+Remove _customer_location_uc
+
+Revision ID: df3d7e2eb9a4
+Revises: 48cbb571fa3a
+Create Date: 2024-07-19 16:11:26.740368
+"""
+
+import logging
+
+from alembic import op
+from migration_utils import create_unique_constraint, drop_unique_constraint
+from sqlalchemy.engine.reflection import Inspector
+
+from superset.utils.core import generic_find_uq_constraint_name
+
+# revision identifiers, used by Alembic.
+revision = "df3d7e2eb9a4"
+down_revision = "48cbb571fa3a"
+
+logger = logging.getLogger(__name__)
+
+
+def upgrade():
+    bind = op.get_bind()
+    inspector = Inspector.from_engine(bind)
+
+    # Unfortunately the DB migration that creates this constraint has a
+    # try/except block, so that we can't know for sure if the constraint exists.
+    if constraint_name := generic_find_uq_constraint_name(
+        "tables",
+        ["database_id", "schema", "table_name"],
+        inspector,
+    ):
+        drop_unique_constraint(op, constraint_name, "tables")
+
+
+def downgrade():
+    create_unique_constraint(
+        op,
+        "_customer_location_uc",
+        "tables",
+        ["database_id", "schema", "table_name"],
+    )