def METHOD_NAME(self, builder: Command, context: dict, *args, **kwargs) -> None:
    """Create a Database singleton."""
    from renku.version import __version__
    if not project_context.has_context():
        raise ValueError("Database builder needs a ProjectContext to be set.")
    project_context.push_path(path=self._path or project_context.path, save_changes=self._write)
    project_gateway = ProjectGateway()
    context["constructor_bindings"][IPlanGateway] = lambda: PlanGateway()
    context["constructor_bindings"][IActivityGateway] = lambda: ActivityGateway()
    context["constructor_bindings"][IDatabaseGateway] = lambda: DatabaseGateway()
    context["constructor_bindings"][IDatasetGateway] = lambda: DatasetGateway()
    context["constructor_bindings"][IProjectGateway] = lambda: project_gateway
    context["constructor_bindings"][IStorageFactory] = lambda: StorageFactory
    if int(os.environ.get("RENKU_SKIP_MIN_VERSION_CHECK", "0")) == 1:
        # NOTE: Used for unit tests
        return
    try:
        project = project_gateway.get_project()
        minimum_renku_version = Version(project.minimum_renku_version)
        self.project_found = True
    except (KeyError, ImportError, ValueError):
        try:
            with open(project_context.database_path / "project") as f:
                project = json.load(f)
                min_version = project.get("minimum_renku_version")
                if min_version is None:
                    return
                minimum_renku_version = Version(min_version)
        except (KeyError, OSError, json.JSONDecodeError):
            # NOTE: We don't check minimum version if there's no project metadata available
            return
    current_version = Version(__version__)
    if Version(current_version.base_version) < minimum_renku_version:
        raise errors.MinimumVersionError(current_version, minimum_renku_version)