disenchanter
Definitions
A person or thing that dispels illusions or breaks a spell.
One who causes someone to become disappointed or disillusioned.
Examples
The harsh reality of the corporate world acted as a powerful disenchanter for the idealistic young graduate.
He proved to be a cynical disenchanter, constantly pointing out the flaws in everyone's romanticized dreams.