I've seen some tutorials about deploying a smart contract to mainnet using Truffle.
In those tutorials they are also deploying Migrations.sol contract to mainnet.
What is the purpose of doing that? I think it's not necessary to deploy Migrations.sol contract to mainnet. Isn't it just for development purposes? What would happen if I don't deploy that contract to mainnet?