# Account for soft-deletes:
# NULL != NULL in SQL, so simply excluding entities where the Draft
# and Published versions match will not catch the case where a
# soft-delete has been published (i.e. both the Draft and Published
# versions are NULL). We need to explicitly check for that case
# instead, or else we will re-publish the same soft-deletes over
# and over again.
Details are in a comment from this change: