Such scripts are numbered. They are meant to be run only once on a specific blockchain, so that next run won’t execute them again (unless specifically configured to do that). This is implemented on the blockchain itself, through the Migrations.sol contract, created during project initialization. There’s a script named 1_initial_migration.js , configured to deploy it, as the first deployment.