Currently I'm developing a web service in which users can (generally) upload binary files. These files are stored in the file system of the host OS and some additional metadata about the file is stored in another SQL database, including its available version identifiers (a file may exist in multiple versions). From the metadata in the database the local version-specific file path can be derived.
As of now, when I want to give information about the existence of a specific file version, I only check if there is a corresponding database entry. This simplifies a lot of code for more advanced use cases. That means I will run into an error if the file is still recorded in the database but does not exist any more. Logically this should never happen, but it could easily be deleted by e.g. the admin.
Is it bad practice to assume that server-side file will never be deleted by external forces?