def install(context):
    """Perform any initial installation tasks

        The application has never had the application installed
        before. The schema manager should bring the database to the
        current generation.

        This method should *not* commit a transaction. The transaction
        will be committed by the caller if there is no error. The
        method may create savepoints.

        .. versionchanged:: 5.0

            Previously this documentation contained a provision for committing
            the transaction "if there are no subsequent operations." That
            was unclear and incompatible with explicit transaction managers.

            Now, this method must *never* commit the transaction.
        """
