Patterns for making seeds idempotent?

I personally use seeds only for dummy data for development. If it changes I just drop and reapply. Everything else should imo be a (data) migration.