code: def make_script_directory(cls, config):
      
      temporary_dir = config.get_main_option("temporary_dir")
      migrations_dir = config.get_main_option("migrations_dir")
  
      return cls(
          dir=temporary_dir,
          version_locations=[migrations_dir],
      )
docs: Alembic uses a "script directory"  to encapsulate its `env.py` file, its migrations
      directory, and its `script.py.mako` revision template.
  
      We'd rather not have such a directory at all as the default `env.py` rarely works
      without manipulation, migrations are better saved in a location within the source tree,
      and revision templates shouldn't vary between projects.
  
      Instead, generate a `ScriptDirectory` object, injecting values from the config.