code: def run_migrations_online():
      """Run migrations in 'online' mode.
  
      In this scenario we need to create an Engine
      and associate a connection with the context.
  
      """
  
      # this callback is used to prevent an auto-migration from being generated
      # when there are no changes to the schema
      # reference: http://alembic.zzzcomputing.com/en/latest/cookbook.html
      def process_revision_directives(context, revision, directives):
          if getattr(config.cmd_opts, "autogenerate", False):
              script = directives[0]
              if script.upgrade_ops.is_empty():
                  directives[:] = []
                  logger.info("No changes in schema detected.")
  
      connectable = engine
  
      with connectable.connect() as connection:
          context.configure(
              connection=connection,
              target_metadata=target_metadata,
              process_revision_directives=process_revision_directives,
          )
  
          with context.begin_transaction():
              context.run_migrations()
  
file_path: aim/aim/web/migrations/env.py
imports: from __future__ import with_statement
  import logging
  import os
  from logging.config import fileConfig
  from alembic import context
  from alembic.config import Config
  from aim.web.configs import AIM_ENV_MODE_KEY
  from aim.web.api.db import engine
  from aim.web.utils import get_db_url
  from aim.web.api.dashboards import models
  from aim.web.api.dashboard_apps import models
  from aim.web.api.db import Base
label_desc: Use image node_id 2 for calling a global function with example usage: run_migrations_online() without return types