Change column to longtext (#8739)
* Change column to longtext * Manual merge heads
This commit is contained in:
parent
a94464b9c9
commit
5b934bb377
|
|
@ -603,32 +603,34 @@ export function loadQueryEditor(queryEditor) {
|
|||
}
|
||||
|
||||
export function setTables(tableSchemas) {
|
||||
const tables = tableSchemas.map(tableSchema => {
|
||||
const {
|
||||
columns,
|
||||
selectStar,
|
||||
primaryKey,
|
||||
foreignKeys,
|
||||
indexes,
|
||||
dataPreviewQueryId,
|
||||
} = tableSchema.description;
|
||||
return {
|
||||
dbId: tableSchema.database_id,
|
||||
queryEditorId: tableSchema.tab_state_id.toString(),
|
||||
schema: tableSchema.schema,
|
||||
name: tableSchema.table,
|
||||
expanded: tableSchema.expanded,
|
||||
id: tableSchema.id,
|
||||
dataPreviewQueryId,
|
||||
columns,
|
||||
selectStar,
|
||||
primaryKey,
|
||||
foreignKeys,
|
||||
indexes,
|
||||
isMetadataLoading: false,
|
||||
isExtraMetadataLoading: false,
|
||||
};
|
||||
});
|
||||
const tables = tableSchemas
|
||||
.filter(tableSchema => tableSchema.description !== null)
|
||||
.map(tableSchema => {
|
||||
const {
|
||||
columns,
|
||||
selectStar,
|
||||
primaryKey,
|
||||
foreignKeys,
|
||||
indexes,
|
||||
dataPreviewQueryId,
|
||||
} = tableSchema.description;
|
||||
return {
|
||||
dbId: tableSchema.database_id,
|
||||
queryEditorId: tableSchema.tab_state_id.toString(),
|
||||
schema: tableSchema.schema,
|
||||
name: tableSchema.table,
|
||||
expanded: tableSchema.expanded,
|
||||
id: tableSchema.id,
|
||||
dataPreviewQueryId,
|
||||
columns,
|
||||
selectStar,
|
||||
primaryKey,
|
||||
foreignKeys,
|
||||
indexes,
|
||||
isMetadataLoading: false,
|
||||
isExtraMetadataLoading: false,
|
||||
};
|
||||
});
|
||||
return { type: SET_TABLES, tables };
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -95,33 +95,35 @@ export default function getInitialState({ defaultDbId, ...restBootstrapData }) {
|
|||
|
||||
const tables = [];
|
||||
if (activeTab) {
|
||||
activeTab.table_schemas.forEach(tableSchema => {
|
||||
const {
|
||||
columns,
|
||||
selectStar,
|
||||
primaryKey,
|
||||
foreignKeys,
|
||||
indexes,
|
||||
dataPreviewQueryId,
|
||||
} = tableSchema.description;
|
||||
const table = {
|
||||
dbId: tableSchema.database_id,
|
||||
queryEditorId: tableSchema.tab_state_id.toString(),
|
||||
schema: tableSchema.schema,
|
||||
name: tableSchema.table,
|
||||
expanded: tableSchema.expanded,
|
||||
id: tableSchema.id,
|
||||
isMetadataLoading: false,
|
||||
isExtraMetadataLoading: false,
|
||||
dataPreviewQueryId,
|
||||
columns,
|
||||
selectStar,
|
||||
primaryKey,
|
||||
foreignKeys,
|
||||
indexes,
|
||||
};
|
||||
tables.push(table);
|
||||
});
|
||||
activeTab.table_schemas
|
||||
.filter(tableSchema => tableSchema.description !== null)
|
||||
.forEach(tableSchema => {
|
||||
const {
|
||||
columns,
|
||||
selectStar,
|
||||
primaryKey,
|
||||
foreignKeys,
|
||||
indexes,
|
||||
dataPreviewQueryId,
|
||||
} = tableSchema.description;
|
||||
const table = {
|
||||
dbId: tableSchema.database_id,
|
||||
queryEditorId: tableSchema.tab_state_id.toString(),
|
||||
schema: tableSchema.schema,
|
||||
name: tableSchema.table,
|
||||
expanded: tableSchema.expanded,
|
||||
id: tableSchema.id,
|
||||
isMetadataLoading: false,
|
||||
isExtraMetadataLoading: false,
|
||||
dataPreviewQueryId,
|
||||
columns,
|
||||
selectStar,
|
||||
primaryKey,
|
||||
foreignKeys,
|
||||
indexes,
|
||||
};
|
||||
tables.push(table);
|
||||
});
|
||||
}
|
||||
|
||||
const { databases, queries } = restBootstrapData;
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
"""Change table schema description to long text
|
||||
|
||||
Revision ID: 89115a40e8ea
|
||||
Revises: 5afa9079866a
|
||||
Create Date: 2019-12-03 13:50:24.746867
|
||||
|
||||
"""
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = "89115a40e8ea"
|
||||
down_revision = "5afa9079866a"
|
||||
|
||||
import sqlalchemy as sa
|
||||
from alembic import op
|
||||
from sqlalchemy.databases import mysql
|
||||
from sqlalchemy.dialects.mysql.base import MySQLDialect
|
||||
|
||||
|
||||
def upgrade():
|
||||
bind = op.get_bind()
|
||||
if isinstance(bind.dialect, MySQLDialect):
|
||||
with op.batch_alter_table("table_schema") as batch_op:
|
||||
batch_op.alter_column(
|
||||
"description", existing_type=sa.Text, type_=mysql.LONGTEXT
|
||||
)
|
||||
|
||||
|
||||
def downgrade():
|
||||
bind = op.get_bind()
|
||||
if isinstance(bind.dialect, MySQLDialect):
|
||||
with op.batch_alter_table("table_schema") as batch_op:
|
||||
batch_op.alter_column(
|
||||
"description", existing_type=mysql.LONGTEXT, type_=sa.Text
|
||||
)
|
||||
|
|
@ -259,13 +259,18 @@ class TableSchema(Model, AuditMixinNullable, ExtraJSONMixin):
|
|||
expanded = Column(Boolean, default=False)
|
||||
|
||||
def to_dict(self):
|
||||
try:
|
||||
description = json.loads(self.description)
|
||||
except json.JSONDecodeError:
|
||||
description = None
|
||||
|
||||
return {
|
||||
"id": self.id,
|
||||
"tab_state_id": self.tab_state_id,
|
||||
"database_id": self.database_id,
|
||||
"schema": self.schema,
|
||||
"table": self.table,
|
||||
"description": json.loads(self.description),
|
||||
"description": description,
|
||||
"expanded": self.expanded,
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue