code: def upgrade():
      # ### commands auto generated by Alembic - please adjust! ###
      op.create_table(
          "dashboard_email_schedules",
          sa.Column("created_on", sa.DateTime(), nullable=True),
          sa.Column("changed_on", sa.DateTime(), nullable=True),
          sa.Column("id", sa.Integer(), nullable=False),
          sa.Column("active", sa.Boolean(), nullable=True),
          sa.Column("crontab", sa.String(length=50), nullable=True),
          sa.Column("recipients", sa.Text(), nullable=True),
          sa.Column("deliver_as_group", sa.Boolean(), nullable=True),
          sa.Column(
              "delivery_type",
              sa.Enum("attachment", "inline", name="emaildeliverytype"),
              nullable=True,
          ),
          sa.Column("dashboard_id", sa.Integer(), nullable=True),
          sa.Column("created_by_fk", sa.Integer(), nullable=True),
          sa.Column("changed_by_fk", sa.Integer(), nullable=True),
          sa.Column("user_id", sa.Integer(), nullable=True),
          sa.ForeignKeyConstraint(["changed_by_fk"], ["ab_user.id"]),
          sa.ForeignKeyConstraint(["created_by_fk"], ["ab_user.id"]),
          sa.ForeignKeyConstraint(["dashboard_id"], ["dashboards.id"]),
          sa.ForeignKeyConstraint(["user_id"], ["ab_user.id"]),
          sa.PrimaryKeyConstraint("id"),
      )
      op.create_index(
          op.f("ix_dashboard_email_schedules_active"),
          "dashboard_email_schedules",
          ["active"],
          unique=False,
      )
      op.create_table(
          "slice_email_schedules",
          sa.Column("created_on", sa.DateTime(), nullable=True),
          sa.Column("changed_on", sa.DateTime(), nullable=True),
          sa.Column("id", sa.Integer(), nullable=False),
          sa.Column("active", sa.Boolean(), nullable=True),
          sa.Column("crontab", sa.String(length=50), nullable=True),
          sa.Column("recipients", sa.Text(), nullable=True),
          sa.Column("deliver_as_group", sa.Boolean(), nullable=True),
          sa.Column(
              "delivery_type",
              sa.Enum("attachment", "inline", name="emaildeliverytype"),
              nullable=True,
          ),
          sa.Column("slice_id", sa.Integer(), nullable=True),
          sa.Column(
              "email_format",
              sa.Enum(
                  "visualization", "data", name="sliceemailreportformat"
              ),
              nullable=True,
          ),
          sa.Column("created_by_fk", sa.Integer(), nullable=True),
          sa.Column("changed_by_fk", sa.Integer(), nullable=True),
          sa.Column("user_id", sa.Integer(), nullable=True),
          sa.ForeignKeyConstraint(["changed_by_fk"], ["ab_user.id"]),
          sa.ForeignKeyConstraint(["created_by_fk"], ["ab_user.id"]),
          sa.ForeignKeyConstraint(["slice_id"], ["slices.id"]),
          sa.ForeignKeyConstraint(["user_id"], ["ab_user.id"]),
          sa.PrimaryKeyConstraint("id"),
      )
      op.create_index(
          op.f("ix_slice_email_schedules_active"),
          "slice_email_schedules",
          ["active"],
          unique=False,
      )
  
imports: import sqlalchemy
  from alembic import op
label_desc: Use image node_id 1 for calling a global function with example usage: upgrade() without return types