code: def downgrade():
      op.drop_table("sqlatable_user")
      op.drop_table("druiddatasource_user")
      with op.batch_alter_table("tables") as batch_op:
          batch_op.add_column(
              sa.Column("user_id", sa.INTEGER(), nullable=True)
          )
          batch_op.create_foreign_key(
              "user_id", "ab_user", ["user_id"], ["id"]
          )
      with op.batch_alter_table("datasources") as batch_op:
          batch_op.add_column(
              sa.Column("user_id", sa.INTEGER(), nullable=True)
          )
          batch_op.create_foreign_key(
              "fk_datasources_user_id_ab_user",
              "ab_user",
              ["user_id"],
              ["id"],
          )
  
imports: import sqlalchemy
  from alembic import op
  from superset import db
  from superset.utils.core import generic_find_fk_constraint_name
label_desc: Use image node_id 2 for calling a global function with example usage: downgrade() without return types