code: def upgrade():
      """Apply Add description field to ``connection`` table"""
      conn = op.get_bind()
  
      with op.batch_alter_table("connection") as batch_op:
          if conn.dialect.name == "mysql":
              # Handles case where on mysql with utf8mb4 this would exceed the size of row
              # We have to set text type in this migration even if originally it was string
              # This is permanently fixed in the follow-up migration 64a7d6477aae
              batch_op.add_column(
                  sa.Column(
                      "description", sa.Text(length=5000), nullable=True
                  )
              )
          else:
              batch_op.add_column(
                  sa.Column(
                      "description",
                      sa.String(length=5000),
                      nullable=True,
                  )
              )
  
imports: from __future__ import annotations
  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