code: def _downgrade_v1(op):
      """
      Downgrade assets db by removing the 'tick_size' column and renaming the
      'multiplier' column.
      """
      # Drop indices before batch
      # This is to prevent index collision when creating the temp table
      op.drop_index("ix_futures_contracts_root_symbol")
      op.drop_index("ix_futures_contracts_symbol")
  
      # Execute batch op to allow column modification in SQLite
      with op.batch_alter_table("futures_contracts") as batch_op:
          # Rename 'multiplier'
          batch_op.alter_column(
              column_name="multiplier",
              new_column_name="contract_multiplier",
          )
  
          # Delete 'tick_size'
          batch_op.drop_column("tick_size")
  
      # Recreate indices after batch
      op.create_index(
          "ix_futures_contracts_root_symbol",
          table_name="futures_contracts",
          columns=["root_symbol"],
      )
      op.create_index(
          "ix_futures_contracts_symbol",
          table_name="futures_contracts",
          columns=["symbol"],
          unique=True,
      )
  
file_path: catalyst/catalyst/assets/asset_db_migrations.py
imports: from functools import wraps
  from alembic.migration import MigrationContext
  from alembic.operations import Operations
  import sqlalchemy
  from toolz.curried import do, operator
  from catalyst.assets.asset_writer import write_version_info
  from catalyst.errors import AssetDBImpossibleDowngrade
  from catalyst.utils.preprocess import preprocess
  from catalyst.utils.sqlite_utils import coerce_string_to_eng
label_desc: Use image node_id 4 for calling a global function with example usage: _downgrade_v1(op) without return types