@classmethod
def from_dict(cls, database_dict):
    """
        Given a dict, which contains the database config, this method will create and return a new DatabaseConfig
        object from it.
        The dict can contain any subset of the following keys, every key not used it substituted with the default item:
        - engine
        - host
        - database
        - port
        - user
        - password

        CHANGELOG

        Added 09.06.2019

        :param database_dict:
        :return:
        """
    argument_dict = cls.DEFAULT_DICT
    argument_dict.update(database_dict)
    return cls(**argument_dict)
