Quick tip for you guys today. Maybe you already know that, but for some of you this might be useful. Did you know that make:migration command has optional parameters --create and --table?
Basically, those options help you generate wrappers like Schema::create() and Schema::table(). Let's see the examples:
1. Simple migration command to create a table:
php artisan make:migration create_projects_table
Result (just the main parts):
class CreateProjectsTable extends Migration
{
public function up()
{
//
}
public function down()
{
//
}
}
So you need to fill in all the code for the methods yourself. Now, see the parameters:
2. Parameter --create
php artisan make:migration create_projects_table --create=projects
Result:
class CreateProjectsTable extends Migration
{
public function up()
{
Schema::create('projects', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('projects');
}
}
See, table creation is already pre-filled for you, with ID and timestamps fields included, and down() method pretty much ready.
3. Parameter --table
php artisan make:migration add_email_field_to_projects_table --table=projects
Result:
class AddEmailFieldToProjectsTable extends Migration
{
public function up()
{
Schema::table('projects', function (Blueprint $table) {
//
});
}
public function down()
{
Schema::table('projects', function (Blueprint $table) {
//
});
}
}
This option is for editing the table - most often for adding new columns. It generates the table structure, but you have to fill in the field details inside of the Closure function.
Basically, that's it - quick tip, hope that helps!
No comments or questions yet...