Migrations
Today we are going to learn to migrate to some of our database fields that we create inside database/migrations folder into or local database. Please follow these steps :
1: Php Artisan Command Migrate
php artisan make:migration alumnis
2: Migration Structure
class CreateAlumnisTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('alumnis', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('icno');
$table->string('matrixno');
$table->string('email');
$table->timestamps();
$table->softDeletes();
$table->integer('created_by')->nullable();
$table->integer('updated_by')->nullable();
$table->integer('deleted_by')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('alumni');
}
}
3. Run Migration
php artisan migrate
4. Check Status Migrate
php artisan migrate:status
Seedings
However , after we migrate our migration file into our local database we cant leave them empty without example data. Seeding is more like initial data where we can insert dummies data to test with. Please follow these steps for better understanding :
1: Php Artisan Command Seeder
php artisan make:seeder AlumniSeeder
php artisan make:seeder -----> php artisan command
AlumniSeeder ----> table seeder
2: Class Seeder Structure
<?php
use Illuminate\Database\Seeder;
class AlumniSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table('alumnis')->insert([
'name' => str_random(10),
'icno' => str_random(10),
'matrixno' => str_random(10),
'email' => str_random(10),
]);
}
}
3: Run Seeders File
By default , db:seed command runs all seeder files inside database/seeds folder. However we can specify seeder class by putting --class option to run individually.
php artisan db:seed
php artisan db:seed --class:AlumniSeeder
References
https://laravel.com/docs/5.4/migrations#creating-tables
https://laravel.com/docs/5.4/seeding
https://laravel.com/docs/5.4/seeding
No comments:
Post a Comment