You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by jo...@apache.org on 2018/08/13 21:53:03 UTC
[incubator-superset] branch master updated: [dashboards] Increasing
position_json to MEDIUMTEXT for MySQL (#5618)
This is an automated email from the ASF dual-hosted git repository.
johnbodley pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git
The following commit(s) were added to refs/heads/master by this push:
new e0c02be [dashboards] Increasing position_json to MEDIUMTEXT for MySQL (#5618)
e0c02be is described below
commit e0c02be14e7548bd2d959517a373d2915e47ceda
Author: John Bodley <45...@users.noreply.github.com>
AuthorDate: Mon Aug 13 14:52:59 2018 -0700
[dashboards] Increasing position_json to MEDIUMTEXT for MySQL (#5618)
---
.../versions/1a1d627ebd8e_position_json.py | 36 ++++++++++++++++++++++
superset/models/core.py | 3 +-
superset/utils.py | 7 ++++-
3 files changed, 44 insertions(+), 2 deletions(-)
diff --git a/superset/migrations/versions/1a1d627ebd8e_position_json.py b/superset/migrations/versions/1a1d627ebd8e_position_json.py
new file mode 100644
index 0000000..e344740
--- /dev/null
+++ b/superset/migrations/versions/1a1d627ebd8e_position_json.py
@@ -0,0 +1,36 @@
+"""position_json
+
+Revision ID: 1a1d627ebd8e
+Revises: 0c5070e96b57
+Create Date: 2018-08-13 11:30:07.101702
+
+"""
+
+# revision identifiers, used by Alembic.
+revision = '1a1d627ebd8e'
+down_revision = '0c5070e96b57'
+
+from alembic import op
+import sqlalchemy as sa
+
+from superset.utils import MediumText
+
+
+def upgrade():
+ with op.batch_alter_table('dashboards') as batch_op:
+ batch_op.alter_column(
+ 'position_json',
+ existing_type=sa.Text(),
+ type_=MediumText(),
+ existing_nullable=True,
+ )
+
+
+def downgrade():
+ with op.batch_alter_table('dashboards') as batch_op:
+ batch_op.alter_column(
+ 'position_json',
+ existing_type=MediumText(),
+ type_=sa.Text(),
+ existing_nullable=True,
+ )
diff --git a/superset/models/core.py b/superset/models/core.py
index f3b18f8..05db09f 100644
--- a/superset/models/core.py
+++ b/superset/models/core.py
@@ -41,6 +41,7 @@ from superset.connectors.connector_registry import ConnectorRegistry
from superset.legacy import update_time_range
from superset.models.helpers import AuditMixinNullable, ImportMixin, set_perm
from superset.models.user_attributes import UserAttribute
+from superset.utils import MediumText
from superset.viz import viz_types
install_aliases()
from urllib import parse # noqa
@@ -364,7 +365,7 @@ class Dashboard(Model, AuditMixinNullable, ImportMixin):
__tablename__ = 'dashboards'
id = Column(Integer, primary_key=True)
dashboard_title = Column(String(500))
- position_json = Column(Text)
+ position_json = Column(MediumText())
description = Column(Text)
css = Column(Text)
json_metadata = Column(Text)
diff --git a/superset/utils.py b/superset/utils.py
index 81fb4a1..ca28a5a 100644
--- a/superset/utils.py
+++ b/superset/utils.py
@@ -39,7 +39,8 @@ from past.builtins import basestring
from pydruid.utils.having import Having
import pytz
import sqlalchemy as sa
-from sqlalchemy import event, exc, select
+from sqlalchemy import event, exc, select, Text
+from sqlalchemy.dialects.mysql import MEDIUMTEXT
from sqlalchemy.types import TEXT, TypeDecorator
from superset.exceptions import SupersetException, SupersetTimeoutException
@@ -1011,3 +1012,7 @@ def get_username():
return g.user.username
except Exception:
pass
+
+
+def MediumText():
+ return Text().with_variant(MEDIUMTEXT(), 'mysql')