In database world, there are two common acronyms: DDL: Data Definition Language. - Deals with database and tables structure(create/alter/drop table). DML: Data Manipulation Language. - Deals with data inside tables (insert, update, delete). In Laravel, migrations are classes that responsible for DDL using two methods (up, down): up method: runs when run the migration using this command: php artisan migrate down method: runs when rollback the migration using this command: php artisan migrate:rollback you can create a migration using this command: php artisan make:migration "create users table" Models are responsible for DML. You can create a model using this command: php artisan make:model User You can create a model with its corresponding migration using one command: php artisan make:model User -m