1. What are migrations?
2. What does the function artifacts.require() do?
It returns a contract abstraction which can be used throughout a deployment script. It is similar to importing files using
require in Node.
3. Take a look at the Migrations.sol contract, what does it do?
It assigns the owner of the contract to the person who deployed it and allows accessing details regarding when the last migration (deployment) was done. Also, it restricts access to only the owner of the contract to keep note of when the last migration was completed.
4. What function should we run when we want to deploy a contract from inside the migrations file?