Seputar Pemrograman

Cara Menggunakan Migrations dan Schema Builder di Framework Laravel

  25 September 2014     Tutorial Framework Laravel     seputarpemrograman

Migrations (migrasi)  adalah sebuah fasilitas dilaravel digunakan untuk mempermudah kita ketika ada perubahan dalam database. Schema Builder digunakan untuk membuat sebuah skema database. Dengan menggunakan migrations dan schema builder kita untuk membuat database tidak perlu repot – repot membuka phpmyadmin, sqlyog, ataupun aplikasi lain untuk membuat database. Dengan migrations dan schema builder juga akan lebih mudah ketika kita membuat project besar dan banyak developer.

 

Dasar atau Perintah Migrations (migrasi)

1. Creating Migrations (Membuat Migrasi)

Untuk migrasi kita bisa menggunakan migrate:make. Untuk membuat mrigrasi baru kita dapat menggunakan peritah dibawah ini.

php artisan migrate:make create_users_table

Perintah diatas akan membuat file didalam folder php app/database/migrations. Nanti di file itulah kita bisa membuat schema databasenya. create_users_table anda ganti sesuai dengan kebutuhan.

2. Running Migrations (Menjalankan Migrasi)

Untuk menjalankan atau memigrasi schema yang telah dibuat sebelumnya anda dapat menggunakan perintah dibawah ini.

php artisan migrate

Perintah diatas digunakan untuk menjalankan semua migrasi  yang ada. Jika anda hanya ingin menjalankan path atau vendor tertentu bisa menggunakan perintah ini.

php artisan migrate --path=app/foo/migrations

php artisan migrate --package=vendor/package                  

3. Rolling Back Migrations

Kita juga bisa merollback database yang telah dibuat sebelumnya dengan perintah berikut ini.

php artisan migrate:rollback

Perintah diatas hanya merollback data terakhir saja jika ingin merollback keseluruhan dapat menggunakan perintah berikut ini.

php artisan migrate:reset

 

Schema Builder (Skema Builder)

Skema Builderseperti yang sudah katakan sejak awal, Skema Builder digunakan untuk membuat skema database kita berupa table dan field.

1. Creating & Dropping Tables (Membuat dan Menghapus tabel)

Berikut ini adalah script atau perintah dasar untuk membuat tabel.

Schema::create('profiles', function($table)
{  

});

Untuk rename tabel bisa menggunakan perintah berikut.

Schema::rename($from, $to);

Jika anda memiliki lebih dari satu koneksi database bisa menggunakan perintah ini dan dipilih menurut koneksi yang diinginkan.

Schema::connection('koneksi1')->create(' profiles ', function($table)
{

 });

Untuk mengahpus tabel yang telah dibuat bisa menggunakan perintah dibawah ini.

Schema::drop(' profiles ');

atau

Schema::dropIfExists(' profiles ');

2. Adding, Renaming & Dropping Columns (Menambah, Mengubah & Mengahpus Kolom)

Adakalanya ketika kita bikin program ingin menambahkan kolom pada suatu tabel, didalam skema builder ini bisa menggunakan perintah ini.

Schema::table('profiles', function($table)
{
    $table->string('notlep');
});

Untuk mengubah kolom bisa menggunakan perintah renameColumn  seperti dibawah ini.

Schema::table('profiles', function($table)
{
    $table->renameColumn('from', 'to');
});

Sedangkan untuk menghapus kolom bisa menggunakan perintah berikut ini.

Schema::table('profiles', function($table)
{
    $table->dropColumn('notlep');
});

Untuk menghapus kolom lebih dari satu bisa seperti ini.

$table->dropColumn('notlep');

Menjadi

$table->dropColumn(array('notlep', 'email'));

3. Adding Indexes & Foreign Keys

Menambahkan index pada tabel tertentu dan kolom terntentu bisa menggunakan perintah dibawah ini.

$table->string('email')->unique();

Sedangkan untuk menambahkan foreign key atau kunci tamu bisa menggunakan perintah ini.

$table->integer('user_id')->unsigned();
$table->foreign('user_id')->references('id')->on('users');

Itu adalah dasar dasar dari migrasi dan skema builder untuk lebih lengkapnya bisa langsung ke http://laravel.com/docs/4.2/migrations dan http://laravel.com/docs/4.2/schema.

 

Menerapkan Migration (Migrasi) dan Schema Builder (Skema Builder)

Setelah kita belajar dasar dasar dari migrasi dan skema builder, saatnya untuk mencoba secara langsung agar kita lebih tahu cara penggunaannya dari fungsi yang dijelaskan diatas. Kita buka dahulu project laravel yang telah dibuat di tutorial sebelumnya atau jika belum bisa mengikuti tutorial “Belajar Install Framework Laravel Dengan Composer Maupun Tanpa Composer”. Dan buat database bernama belajarlaravel. Buka folder app/config dan cari file bernama database.php. silahkan cari code seperti dibawah ini.

'mysql' => array(

                                    'driver'    => 'mysql',

                                    'host'      => 'localhost',

                                    'database'  => 'database',

                                    'username'  => 'root',

                                    'password'  => '',

                                    'charset'   => 'utf8',

                                    'collation' => 'utf8_unicode_ci',

                                    'prefix'    => '',

),

Rubah menjadi

'mysql' => array(

                                    'driver'    => 'mysql',

                                    'host'      => 'localhost',

                                    'database'  => 'belajarlaravel', // nama database yang telah dibuat

                                    'username'  => 'root', // user

                                    'password'  => '', //password untuk xampp default kosong.

                                    'charset'   => 'utf8',

                                    'collation' => 'utf8_unicode_ci',

                                    'prefix'    => '',

),

Selanjutnya ketikan perintah ini ke command prompt / cmd

php artisan migrate:make create_profiles_table

lebih jelasnya lihat gambar dibawah ini.

create schema builder laravel

cd \xampp\htdocs\projectlaravel, digunakan untuk mengalihkan ke folder projectlaravel

php artisan migrate:make create_profiles_table, digunakan untuk perintah membuat migrasi.

Jika sudah berhasil seperti gambar diatas lihat di folder project anda klo disini projectlaravel di folder app/database/migrations dan akan terdapat file seperti ini 2014_09_25_145940_create_profiles_table.php dan berisi seperti ini.

< ?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateProfilesTable extends Migration {

                /**

                 * Run the migrations.

                 *

                 * @return void

                 */

                public function up()

                {
                                //
                }

                /**

                 * Reverse the migrations.

                 *

                 * @return void

                 */

                public function down()

                {
                                //
                }

}

Selanjutnya didalam code diatas rubah menjadi seperti dibawah ini.

< ?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateProfilesTable extends Migration {

                /**

                 * Run the migrations.

                 *

                 * @return void

                 */

                public function up()

                {

                      Schema::create('profiles', function($table)

                      {
                       $table->increments('id');

                       $table->string('nama')->length(100);

                       $table->enum('jeniskelamin', array('L', 'P'));

                       $table->string('alamat')->nullable();

                       $table->timestamps();
                      });

                }

                /**

                 * Reverse the migrations.

                 *

                 * @return void

                 */

                public function down()
                {
                   Schema::drop('profiles');
                }

}

Selesai silahkan disimpan dan jalankan perintah berikut ini di command prompt / cmd.

php artisan migrate

Lebih jelasnya lihat gambar dibawah ini.

migrate table laravel

Sampai sini silahkan cek apakah tabel profiles yang anda buat masuk kedalam database belajarlaravel seperti ini.

 tampilan database setelah migrate

tabel hasil migration laravel

Sampai disini anda sudah suskses membuat migration sederhan menggunakan laravel, jika anda terlalu keberatan dalam membuat database dengan cara seperti ini maka anda bisa membuat database secara manual melalui phpmyadmin atau menurut cara anda sendiri.


comments powered by Disqus

CARI

KATEGORI PEMROGRAMAN

PEMROGRAMAN Terpopuler

PEMROGRAMAN ACAK