migration helper supports (idempotent) updates