Its calculated every day at certain time, and it takes hapiness you had after hapiness calculation, not hapiness in time of migration.
Ok. I'll explain my question more exact.
Let say my happiness is maximum (120).
Capital Bonus +20
Fortress bonus[3] +3
Temple bonus[1] +2
Enough work vacancies +5
Tax[Low] -15
Than I recruit 2 group of troops. And it decrease to 118. But I have a very low taxes so i'll hope it will compensate that -2 point from hiring. But it wasn't so.
People have migrated 1-2 minutes before new calculation of happiness started. How can I upgrade my happiness another way than decreasing taxes? What method is working "rigth now" but not tomorrow?