code: def upgrade():
      # ### commands auto generated by Alembic - please adjust! ###
      op.create_table(
          "experiment",
          sa.Column(
              "id", sa.Integer(), autoincrement=True, nullable=False
          ),
          sa.Column("uuid", sa.Text(), nullable=True),
          sa.Column("name", sa.Text(), nullable=False),
          sa.Column("created_at", sa.DateTime(), nullable=True),
          sa.Column("updated_at", sa.DateTime(), nullable=True),
          sa.PrimaryKeyConstraint("id"),
          sa.UniqueConstraint("name"),
          sa.UniqueConstraint("name"),
      )
      op.create_index(
          op.f("ix_experiment_uuid"),
          "experiment",
          ["uuid"],
          unique=True,
      )
      op.create_table(
          "tag",
          sa.Column(
              "id", sa.Integer(), autoincrement=True, nullable=False
          ),
          sa.Column("uuid", sa.Text(), nullable=True),
          sa.Column("name", sa.Text(), nullable=False),
          sa.Column("color", sa.Text(), nullable=True),
          sa.Column("created_at", sa.DateTime(), nullable=True),
          sa.Column("updated_at", sa.DateTime(), nullable=True),
          sa.PrimaryKeyConstraint("id"),
          sa.UniqueConstraint("name"),
          sa.UniqueConstraint("name"),
      )
      op.create_index(op.f("ix_tag_uuid"), "tag", ["uuid"], unique=True)
      op.create_table(
          "run",
          sa.Column(
              "id", sa.Integer(), autoincrement=True, nullable=False
          ),
          sa.Column("hash", sa.Text(), nullable=False),
          sa.Column("name", sa.Text(), nullable=True),
          sa.Column("description", sa.Text(), nullable=True),
          sa.Column("is_archived", sa.Boolean(), nullable=True),
          sa.Column("created_at", sa.DateTime(), nullable=True),
          sa.Column("updated_at", sa.DateTime(), nullable=True),
          sa.Column("experiment_id", sa.Integer(), nullable=True),
          sa.ForeignKeyConstraint(
              ["experiment_id"],
              ["experiment.id"],
          ),
          sa.PrimaryKeyConstraint("id"),
      )
      op.create_index(op.f("ix_run_hash"), "run", ["hash"], unique=True)
      op.create_table(
          "run_tag",
          sa.Column("run_id", sa.Integer(), nullable=False),
          sa.Column("tag_id", sa.Integer(), nullable=False),
          sa.ForeignKeyConstraint(
              ["run_id"],
              ["run.id"],
          ),
          sa.ForeignKeyConstraint(
              ["tag_id"],
              ["tag.id"],
          ),
          sa.PrimaryKeyConstraint("run_id", "tag_id"),
      )
  
imports: from alembic import op
  import sqlalchemy
label_desc: Use image node_id 1 for calling a global function with example usage: upgrade() without return types