what are preventive medications for migraine?

YES. Yes there are. Talk with your primary care doctor or a neurologist to see if any of them might work for you.
Yes. Low dose tca have been shown to effective at preventing migraines. Consult with your doctor.