code: def upgrade():
      op.add_column(
          "metrics",
          sa.Column("changed_by_fk", sa.Integer(), nullable=True),
      )
      op.add_column(
          "metrics",
          sa.Column("changed_on", sa.DateTime(), nullable=True),
      )
      op.add_column(
          "metrics",
          sa.Column("created_by_fk", sa.Integer(), nullable=True),
      )
      op.add_column(
          "metrics",
          sa.Column("created_on", sa.DateTime(), nullable=True),
      )
      try:
          op.alter_column(
              "columns",
              "changed_on",
              existing_type=sa.DATETIME(),
              nullable=True,
          )
          op.alter_column(
              "columns",
              "created_on",
              existing_type=sa.DATETIME(),
              nullable=True,
          )
          op.alter_column(
              "css_templates",
              "changed_on",
              existing_type=sa.DATETIME(),
              nullable=True,
          )
          op.alter_column(
              "css_templates",
              "created_on",
              existing_type=sa.DATETIME(),
              nullable=True,
          )
          op.alter_column(
              "dashboards",
              "changed_on",
              existing_type=sa.DATETIME(),
              nullable=True,
          )
          op.alter_column(
              "dashboards",
              "created_on",
              existing_type=sa.DATETIME(),
              nullable=True,
          )
          op.alter_column(
              "datasources",
              "changed_by_fk",
              existing_type=sa.INTEGER(),
              nullable=True,
          )
          op.alter_column(
              "datasources",
              "changed_on",
              existing_type=sa.DATETIME(),
              nullable=True,
          )
          op.alter_column(
              "datasources",
              "created_by_fk",
              existing_type=sa.INTEGER(),
              nullable=True,
          )
          op.alter_column(
              "datasources",
              "created_on",
              existing_type=sa.DATETIME(),
              nullable=True,
          )
          op.alter_column(
              "dbs",
              "changed_on",
              existing_type=sa.DATETIME(),
              nullable=True,
          )
          op.alter_column(
              "dbs",
              "created_on",
              existing_type=sa.DATETIME(),
              nullable=True,
          )
          op.alter_column(
              "slices",
              "changed_on",
              existing_type=sa.DATETIME(),
              nullable=True,
          )
          op.alter_column(
              "slices",
              "created_on",
              existing_type=sa.DATETIME(),
              nullable=True,
          )
          op.alter_column(
              "sql_metrics",
              "changed_on",
              existing_type=sa.DATETIME(),
              nullable=True,
          )
          op.alter_column(
              "sql_metrics",
              "created_on",
              existing_type=sa.DATETIME(),
              nullable=True,
          )
          op.alter_column(
              "table_columns",
              "changed_on",
              existing_type=sa.DATETIME(),
              nullable=True,
          )
          op.alter_column(
              "table_columns",
              "created_on",
              existing_type=sa.DATETIME(),
              nullable=True,
          )
          op.alter_column(
              "tables",
              "changed_on",
              existing_type=sa.DATETIME(),
              nullable=True,
          )
          op.alter_column(
              "tables",
              "created_on",
              existing_type=sa.DATETIME(),
              nullable=True,
          )
          op.alter_column(
              "url",
              "changed_on",
              existing_type=sa.DATETIME(),
              nullable=True,
          )
          op.alter_column(
              "url",
              "created_on",
              existing_type=sa.DATETIME(),
              nullable=True,
          )
          op.create_foreign_key(
              None, "metrics", "ab_user", ["changed_by_fk"], ["id"]
          )
          op.create_foreign_key(
              None, "metrics", "ab_user", ["created_by_fk"], ["id"]
          )
      except:
          pass
  
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