mirror of
https://github.com/getredash/redash.git
synced 2025-12-19 17:37:19 -05:00
58 lines
1.2 KiB
Python
58 lines
1.2 KiB
Python
"""bring_back_null_schedule
|
|
|
|
Revision ID: 73beceabb948
|
|
Revises: e7f8a917aa8e
|
|
Create Date: 2019-01-17 13:22:21.729334
|
|
|
|
"""
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
from sqlalchemy.sql import table
|
|
|
|
from redash.models import MutableDict
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision = "73beceabb948"
|
|
down_revision = "e7f8a917aa8e"
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
|
|
def is_empty_schedule(schedule):
|
|
if schedule is None:
|
|
return False
|
|
|
|
if schedule == {}:
|
|
return True
|
|
|
|
if (
|
|
schedule.get("interval") is None
|
|
and schedule.get("until") is None
|
|
and schedule.get("day_of_week") is None
|
|
and schedule.get("time") is None
|
|
):
|
|
return True
|
|
|
|
return False
|
|
|
|
|
|
def upgrade():
|
|
op.alter_column("queries", "schedule", nullable=True, server_default=None)
|
|
|
|
queries = table(
|
|
"queries",
|
|
sa.Column("id", sa.Integer, primary_key=True),
|
|
sa.Column("schedule", sa.Text()),
|
|
)
|
|
|
|
conn = op.get_bind()
|
|
for query in conn.execute(queries.select()):
|
|
if is_empty_schedule(query.schedule):
|
|
conn.execute(
|
|
queries.update().where(queries.c.id == query.id).values(schedule=None)
|
|
)
|
|
|
|
|
|
def downgrade():
|
|
pass
|