The main thing that causes migraine for me is food. Dairy produce... anything from the cow including beef... is the worst. One reaction would last three days but I had a continual migraine from being a toddler and did not know life without it. I had brain fog... it was awful and affected my schooling.
These days alcohol comes second and I drink only rarely. Also food colouring affects me. I never eat / drink dairy from the cow and space goat and sheep (which are very similar so I consider them to be the same) spacing them over 4 days... Day One eat it then not again until 3 Whole Days have passed. Eat it again on day 4.
I do this with many foods because once I had left off the dairy I became intolerant to other foodstuffs such as grains.
The best way to find food triggers is to go onto a very restricted diet... see Dr David Freed's website for the diet sheet that I found most helpful. If you only leave off dairy produce but are in fact also intolerant to other things too, you could get the false impression that the dairy is not a problem when in fact it is.
If only one person benefits from reading this it will have been worth posting my experiences... good luck!