mirror of
https://github.com/apache/superset.git
synced 2026-04-07 18:35:15 +00:00
feat: add Column to reports model (#15683)
* migration * added index, fixed misspelling * Fix benchmark script Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# 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.
|
||||
"""add_creation_method_to_reports_model
|
||||
|
||||
Revision ID: 3317e9248280
|
||||
Revises: 453530256cea
|
||||
Create Date: 2021-07-14 10:31:38.610095
|
||||
|
||||
"""
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = "3317e9248280"
|
||||
down_revision = "453530256cea"
|
||||
|
||||
import sqlalchemy as sa
|
||||
from alembic import op
|
||||
|
||||
|
||||
def upgrade():
|
||||
with op.batch_alter_table("report_schedule") as batch_op:
|
||||
batch_op.add_column(
|
||||
sa.Column(
|
||||
"creation_method", sa.VARCHAR(255), server_default="alert_reports",
|
||||
)
|
||||
)
|
||||
batch_op.create_index(
|
||||
op.f("ix_creation_method"), ["creation_method"], unique=False
|
||||
)
|
||||
|
||||
|
||||
def downgrade():
|
||||
with op.batch_alter_table("report_schedule") as batch_op:
|
||||
batch_op.drop_index("ix_creation_method")
|
||||
batch_op.drop_column("creation_method")
|
||||
@@ -69,6 +69,9 @@ days_range = (MAXIMUM_DATE - MINIMUM_DATE).days
|
||||
|
||||
# pylint: disable=too-many-return-statements, too-many-branches
|
||||
def get_type_generator(sqltype: sqlalchemy.sql.sqltypes) -> Callable[[], Any]:
|
||||
if isinstance(sqltype, sqlalchemy.dialects.mysql.types.TINYINT):
|
||||
return lambda: random.choice([0, 1])
|
||||
|
||||
if isinstance(
|
||||
sqltype, (sqlalchemy.sql.sqltypes.INTEGER, sqlalchemy.sql.sqltypes.Integer)
|
||||
):
|
||||
@@ -83,7 +86,7 @@ def get_type_generator(sqltype: sqlalchemy.sql.sqltypes) -> Callable[[], Any]:
|
||||
length = random.randrange(sqltype.length or 255)
|
||||
length = max(8, length) # for unique values
|
||||
length = min(100, length) # for FAB perms
|
||||
return lambda: "".join(random.choices(string.printable, k=length))
|
||||
return lambda: "".join(random.choices(string.ascii_letters, k=length))
|
||||
|
||||
if isinstance(
|
||||
sqltype, (sqlalchemy.sql.sqltypes.TEXT, sqlalchemy.sql.sqltypes.Text)
|
||||
@@ -91,7 +94,7 @@ def get_type_generator(sqltype: sqlalchemy.sql.sqltypes) -> Callable[[], Any]:
|
||||
length = random.randrange(65535)
|
||||
# "practicality beats purity"
|
||||
length = max(length, 2048)
|
||||
return lambda: "".join(random.choices(string.printable, k=length))
|
||||
return lambda: "".join(random.choices(string.ascii_letters, k=length))
|
||||
|
||||
if isinstance(
|
||||
sqltype, (sqlalchemy.sql.sqltypes.BOOLEAN, sqlalchemy.sql.sqltypes.Boolean)
|
||||
@@ -130,7 +133,7 @@ def get_type_generator(sqltype: sqlalchemy.sql.sqltypes) -> Callable[[], Any]:
|
||||
|
||||
if isinstance(sqltype, sqlalchemy.sql.sqltypes.JSON):
|
||||
return lambda: {
|
||||
"".join(random.choices(string.printable, k=8)): random.randrange(65535)
|
||||
"".join(random.choices(string.ascii_letters, k=8)): random.randrange(65535)
|
||||
for _ in range(10)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user