This question already has an answer here:

Why do we have to deploy the migration solidity contract in truffle? Do we also have to deploy it during production? Why do we have to deploy it so many times and why can't we use a single large contract?

marked as duplicate by Ismael, Richard Horrocks, Achala Dissanayake, shane, flygoing Jun 18 at 16:37

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.