in reply to SQL Diff

Small updates often go directly to the production server

Don't. Put the database under proper configuration management. And create a decent release procedure! How can you ever test something and be sure it will run in the production environment without surprises? You need a representative test environment, i.e. at least the db schema should be identical. Preferably a test environment separated from the development environment.

ID collisions

This is one of the "features" of meaningless attributes, i.e. generated ID's. But normally tables should have meaningful attributes too e.g. some column or collection of columns which should be unique. Focus on those to determine whether records are equal or not.