code: def _assert_schema_files_equal(
      generated_schema_file, expected_schema_file
  ):
      """
      Assert equivalence of two SQL schema dump files consisting of CREATE TABLE statements delimited
      by double-newlines, allowing for the reordering of individual lines within each CREATE TABLE
      statement to account for differences in schema-dumping across platforms & Python versions.
      """
      # Extract "CREATE TABLE" statement chunks from both files, assuming tables are listed in the
      # same order across files
      with open(generated_schema_file) as generated_schema_handle:
          generated_schema_table_chunks = (
              generated_schema_handle.read().split("\n\n")
          )
      with open(expected_schema_file) as expected_schema_handle:
          expected_schema_table_chunks = (
              expected_schema_handle.read().split("\n\n")
          )
      # Compare the two files table-by-table. We assume each CREATE TABLE statement is valid and
      # so sort the lines within the statements before comparing them.
      for generated_schema_table, expected_schema_table in zip(
          generated_schema_table_chunks, expected_schema_table_chunks
      ):
          generated_lines = [
              x.strip()
              for x in sorted(generated_schema_table.split("\n"))
          ]
          expected_lines = [
              x.strip()
              for x in sorted(expected_schema_table.split("\n"))
          ]
          assert generated_lines == expected_lines, (
              "Generated schema did not match expected schema. Generated schema had table "
              f"definition:\n{generated_schema_table}\nExpected schema had table definition:"
              f"\n{expected_schema_table}\nIf you intended to make schema changes, run "
              f"'python tests/store/dump_schema.py {expected_schema_file}' from your checkout"
              " of MLflow to update the schema snapshot."
          )
  
imports: import os
  import sqlite3
  import pytest
  import sqlalchemy
  from alembic import command
  from alembic.autogenerate import compare_metadata
  from alembic.migration import MigrationContext
  from alembic.script import ScriptDirectory
  import mlflow.db
  from mlflow.exceptions import MlflowException
  from mlflow.store.db.base_sql_model import Base
  from mlflow.store.db.utils import _get_alembic_config, _verify_schema
  from mlflow.store.tracking.dbmodels.initial_models import Base
  from mlflow.store.tracking.sqlalchemy_store import SqlAlchemyStore
  from tests.integration.utils import invoke_cli_runner
  from tests.store.dump_schema import dump_db_schema
label_desc: Use image node_id 1 for calling a global function with example usage: _assert_schema_files_equal(generated_schema_file, expected_schema_file) without return types