code: def upgrade():
      """Apply Add ``RenderedTaskInstanceFields`` table"""
      json_type = sa.JSON
      conn = op.get_bind()
  
      if conn.dialect.name != "postgresql":
          # Mysql 5.7+/MariaDB 10.2.3 has JSON support. Rather than checking for
          # versions, check for the function existing.
          try:
              conn.execute(text("SELECT JSON_VALID(1)")).fetchone()
          except (sa.exc.OperationalError, sa.exc.ProgrammingError):
              json_type = sa.Text
  
      op.create_table(
          TABLE_NAME,
          sa.Column("dag_id", StringID(), nullable=False),
          sa.Column("task_id", StringID(), nullable=False),
          sa.Column(
              "execution_date",
              sa.TIMESTAMP(timezone=True),
              nullable=False,
          ),
          sa.Column("rendered_fields", json_type(), nullable=False),
          sa.PrimaryKeyConstraint(
              "dag_id", "task_id", "execution_date"
          ),
      )
  
imports: from __future__ import annotations
  import sqlalchemy
  from alembic import op
  from sqlalchemy import text
  from airflow.migrations.db_types import StringID
label_desc: Use image node_id 1 for calling a global function with example usage: upgrade() without return types