That’s it! I updated the original post to include this information. You might also want to revert the change in https://github.com/discourse/discourse/commit/dfd63b185f3b5279f49f979638dd17c30431669e as traversal of symbolic links works already, right?
Regarding the testability question, I will clear the database in the tests which will not mess with the database from the development environment because all transactions will be rolled back.