docs: def _SetupDatabase(host=None,
                     port=None,
                     user=None,
                     password=None,
                     database=None,
                     client_key_path=None,
                     client_cert_path=None,
                     ca_cert_path=None):
    """Connect to the given MySQL host and create a utf8mb4_unicode_ci database.
  
    Args:
      host: The hostname to connect to.
      port: The port to connect to.
      user: The username to connect as.
      password: The password to connect with.
      database: The database name to create.
      client_key_path: The path of the client private key file.
      client_cert_path: The path of the client public key certificate file.
      ca_cert_path: The path of the Certificate Authority (CA) certificate file.
    """
    with contextlib.closing(
        _Connect(
            host=host,
            port=port,
            user=user,
            password=password,
            # No database should be specified in a connection that intends
            # to create a database.
            database=None,
            client_key_path=client_key_path,
            client_cert_path=client_cert_path,
            ca_cert_path=ca_cert_path)) as conn:
      with contextlib.closing(conn.cursor()) as cursor:
        try:
          cursor.execute(CREATE_DATABASE_QUERY.format(database))
        except MySQLdb.MySQLError as e:
          #  Statement might fail if database exists, this is fine.
          if e.args[0] != mysql_error_constants.DB_CREATE_EXISTS:
            raise
  
        cursor.execute("USE {}".format(database))
        _CheckCollation(cursor)
  
    def _MigrationConnect():
      return _Connect(
          host=host,
          port=port,
          user=user,
          password=password,
          database=database,
          client_key_path=client_key_path,
          client_cert_path=client_cert_path,
          ca_cert_path=ca_cert_path)
  
    mysql_migration.ProcessMigrations(_MigrationConnect,
                                      config.CONFIG["Mysql.migrations_dir"])