You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by mi...@apache.org on 2022/06/23 17:52:49 UTC
[superset] 26/27: fix(migration): Ensure key_value LargeBinary is encoded as a MEDIUMBLOB as opposed to BLOB for MySQL (#20385)
This is an automated email from the ASF dual-hosted git repository.
michaelsmolina pushed a commit to branch 2.0
in repository https://gitbox.apache.org/repos/asf/superset.git
commit ae5238c0e88d0398fdd2e2e000d984d7097e18a8
Author: John Bodley <45...@users.noreply.github.com>
AuthorDate: Thu Jun 23 04:38:33 2022 -0700
fix(migration): Ensure key_value LargeBinary is encoded as a MEDIUMBLOB as opposed to BLOB for MySQL (#20385)
* fix(migration): Ensure key_value LargeBinary is encoded as a MEDIUMBLOB as opposed to BLOB for MySQL
* Update 2022-06-14_15-28_e09b4ae78457_resize_key_value_blob.py
Co-authored-by: John Bodley <jo...@airbnb.com>
(cherry picked from commit f5cb23e0a39a5d5160f5481ba07838ca48beebf7)
---
superset/key_value/models.py | 2 +-
...-14_15-28_e09b4ae78457_resize_key_value_blob.py | 50 ++++++++++++++++++++++
2 files changed, 51 insertions(+), 1 deletion(-)
diff --git a/superset/key_value/models.py b/superset/key_value/models.py
index 33e749ca36..f846d9039d 100644
--- a/superset/key_value/models.py
+++ b/superset/key_value/models.py
@@ -28,7 +28,7 @@ class KeyValueEntry(Model, AuditMixinNullable, ImportExportMixin):
__tablename__ = "key_value"
id = Column(Integer, primary_key=True)
resource = Column(String(32), nullable=False)
- value = Column(LargeBinary(), nullable=False)
+ value = Column(LargeBinary(length=2**24 - 1), nullable=False)
created_on = Column(DateTime, nullable=True)
created_by_fk = Column(Integer, ForeignKey("ab_user.id"), nullable=True)
changed_on = Column(DateTime, nullable=True)
diff --git a/superset/migrations/versions/2022-06-14_15-28_e09b4ae78457_resize_key_value_blob.py b/superset/migrations/versions/2022-06-14_15-28_e09b4ae78457_resize_key_value_blob.py
new file mode 100644
index 0000000000..34800d4a5d
--- /dev/null
+++ b/superset/migrations/versions/2022-06-14_15-28_e09b4ae78457_resize_key_value_blob.py
@@ -0,0 +1,50 @@
+# 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.
+"""Resize key_value blob
+
+Revision ID: e09b4ae78457
+Revises: e786798587de
+Create Date: 2022-06-14 15:28:42.746349
+
+"""
+
+# revision identifiers, used by Alembic.
+revision = "e09b4ae78457"
+down_revision = "e786798587de"
+
+import sqlalchemy as sa
+from alembic import op
+
+
+def upgrade():
+ with op.batch_alter_table("key_value", schema=None) as batch_op:
+ batch_op.alter_column(
+ "value",
+ existing_nullable=False,
+ existing_type=sa.LargeBinary(),
+ type_=sa.LargeBinary(length=2**24 - 1),
+ )
+
+
+def downgrade():
+ with op.batch_alter_table("key_value", schema=None) as batch_op:
+ batch_op.alter_column(
+ "value",
+ existing_nullable=False,
+ existing_type=sa.LargeBinary(length=2**24 - 1),
+ type_=sa.LargeBinary(),
+ )