Ads 970x90

List Labels

iklan banner

Newsletter

Kisah Jon Dodo 2: Database Migration Di Laravel Mysql Laravel Tanggal

Post a Comment

Kisah Jon Dodo 2: Database Migration di Laravel

Allow, selamat siang, sesi kali ini akan membawakan tentang mysql laravel tanggal Kisah Jon Dodo 2: Database Migration di Laravel simak selengkapnya 

Jika Anda tertarik dengan kisah fiktif dibalik penemuan database migration, jangan lewatkan belahan pertama dari artikel ini: Kisah Jon Dodo 1: Sejarah Dibalik Penemuan Database Migration

Jika Anda sempat memakai tools versioning bagai git atau SVN, alkisah corat-coret yang dibawa oleh database migration sejatinya sama, yaitu buat mendokumentasikan saban perubahan yang terjadi terhadap skema database. Dari dokumentasi tersebut saya bisa mengulang langkah-langkah perubahan dari awal hingga akhir ataupun melikuidasi perubahan ke beberapa langkah sebelumnya. Jika ada programmer yang berasosiasi di tengah jalan, dia tinggal ‘menjalankan’ dokumentasi tersebut buat membaca skema database yang sama dengan programmer lainnya. Tidak perlu lagi melakukan dump database atau melaksanakan script ‘catatan harian’ sql secara manual.

Jika Anda sudah membaca kisah fiktif dibalik database migration, alkisah guna database migration sama dengan “sinkronisasi terorganisir” yang terdapat oleh Jon dengan Dodo. Bedanya, database migration bertambah canggih, bertambah otomatis, dengan sudah menyedikan banyak “perintah” yang bisa dipakai buat mempermudah cara penyerentakan database.

Ok, buat bertambah jelasnya ayo saya ikuti kelanjutan kisah Jon Dodo di bawah ini.

Konfrontasi

Petualangan Jon Dodo berlanjut terus. Belasan proyek pembuatan website mereka buat dengan amat baik. Rekan-rekan sejawatnya silih berganti memuji metode yang mereka gunakan buat membuku perubahan database. Sampai suatu kala mereka tergabung pada sebentuk awak dengan Taylor Otwell, programmer akar bumi Paman Sam yang alih penduduk benua sehabis menikah dengan gadis akar Tegal.

Seperti biasa, di awal proyek awak programmer melakukan pembaiatan dengan pembakuan yang akan dipakai selama cara pengerjaan. Bahasa pemrograman, framework, kriteria pencatatan kode, struktur aplikasi, versioning, dengan tentu sahaja akan pencatatan perubahan database. Jon dengan Dodo menjelaskan panjang bidang akan metode “sinkronisasi terorganisir” yang biasa mereka pakai. Di akhir penjelasan, Taylor mengangguk-angguk dengan berkata, “Kenapa saya tidak memakai karakteristik migration buah tangan Laravel?”.

Dua arloji berikutnya dilalui dengan perdebatan panjang akan pendirian masing-masing. Jon dengan Dodo bersikukuh metode mereka sudah andal berhasil diaplikasikan di banyak proyek, beres kenapa kudu memakai metode lain. Sementara Taylor beranggapan metode yang dipakai Jon Dodo, meskipun fungsinya sama, tetapi lagi kuno dengan banyak hal yang kudu dilakukan secara manual. Jon Dodo beranggapan karakteristik migration Laravel hanya membuang-buang waktu akibat kudu mempelajari sintaks aktual padahal fungsinya sama sahaja dengan metode yang biasa mereka pakai. Taylor juga tidak angkat tangan ngotot, membarui database lewat phpmyadmin kemudian kudu membuku query yang dijalankan ke sebentuk file dianggap membuang-buang waktu.

Kisah Jon Dodo 2: Database Migration di Laravel

“Pertempuran” Darat

Istirahat makan siang kecil mencairkan suasana. Perdebatan sejenak berhenti. Masing-masing alam hidangan yang telah disajikan. Project Manager terlihat tersenyum. Secercah citra sudah muncul di kepala.

“Mari saya bandingkan per metode… dengan sebentuk contoh kasus”, suara lantang Si PM memerangahkan semua orang. Jon mengambil bulat-bulat uang sogok terakhir makanannya, meski belum berakhir dikunyah.

Dan dibawah ini adalah gambaran apa yang terjadi pada beberapa arloji berikutnya. Anda bisa mencoba seorang diri per metode dengan menyimpulkan mana yang bertambah baik.

Kasus 1. Buat bagan aktual product

Jon Dodo

  1. Buka phpmyadmin, buat tabelnya
  2. Copy-paste query yang dihasilkan ke changelog-13242014.sql:

     CREATE TABLE `products` (
       `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
       `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
       `price` int(11) NOT NULL,
       `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
       `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
       PRIMARY KEY (`id`)
     );
    

Taylor Otwell

  1. Dari terminal/command prompt/console, masuk ke direktori laravel, jalankan perintah:

     php artisan make:migration create_table_products --create=products
    
  2. Buka file database/migrations/xxxx_create_table_products.php yang sudah di-generate, edit bagai ini:

     public function up()
     
         Schema::create('products', function(Blueprint $table)
         
             $table->increments('id');
             $table->string('name');
             $table->index('price');
             $table->timestamps();
         );
     
    
     public function down()
     
         Schema::drop('products');
     
    
  3. Jalankan perintah php artisan migrate. Cek database Anda.

Kasus 2. Modifikasi bagan product, tambahkan kolom discount

Jon Dodo

  1. Buka phpmyadmin, edit bagan product
  2. Copy paste query yang dihasilkan ke changelog-13092015.sql

Taylor Otwell

  1. Jalankan perintah:

     php artisan make:migration add_discount_to_product --table=products
    
  2. Buka file database/migrations/xxxx_add_discount_to_product.php yang di-generate, edit bagai ini:

     public function up()
     
         Schema::table('products', function(Blueprint $table)
         
             $table->smallInteger('discount');
         );
     
    
     public function down()
     
         Schema::table('products', function(Blueprint $table)
         
             $table->dropColumn('discount');
         );
     
    
  3. Jalankan perintah php artisan migrate. Cek database Anda.

Kasus 3. Aplikasi naik ke production buat pertama kali

Jon Dodo

  1. Buka file changelog-13092015.sql, jalankan query-nya di server
  2. Buka file changelog-14092015.sql, jalankan query-nya di server
  3. Buka file changelog-15092015.sql, jalankan query-nya di server
  4. Dan seterusnya sesuai file changelog yang ada

Taylor Otwell

  1. Jalankan perintah php artisan migrate di server, otomatis semua perubahan database akan diaplikasikan

Kasus 4. Update aplikasi di production

Jon Dodo

  1. Cek tanggal terakhir kali aplikasi naik production
  2. Cari semua file changelog-xxxxxxx.sql sehabis tanggal tersebut
  3. Jalan query-nya ahad persatu

Taylor Otwell

  1. Jalankan perintah php artisan migrate

Kasus 5. Rollback

Fitur aktual ternyata bermasalah, aplikasi dengan database kudu dikembalikan ke versi sebelumnya.

Kisah Jon Dodo 2: Database Migration di Laravel

Jon Dodo

  1. Mengecek perubahan terakhir, balikkan (rollback) secara manual. Misalnya, kika ada query buat create table, alkisah bagan tersebut kudu di delete secara manual.

Taylor Otwell

  1. Jalankan perintah php artisan migrate:rollback

Kasus 6. Tim Baru

Di tengah proyek ada programmer aktual yang bergabung, dengan kudu meng-install aplikasi di komputernya.

Jon Dodo

Minta programmer tersebut melakukan:

  1. Buka file changelog-13092015.sql, jalankan query-nya
  2. Buka file changelog-14092015.sql, jalankan query-nya
  3. Buka file changelog-15092015.sql, jalankan query-nya
  4. Dan seterusnya…

Taylor Otwell

  1. Minta programmer tersebut melaksanakan perintah php artisan migrate:refresh

Kasus 7. Ganti database dari MySQL ke PostgreSQL

Jon Dodo

  1. Serius lu? (Jon Dodo kudu membarui semua query dari sintaks MySQL ke PostgreSQL)

Taylor Otwell

  1. Ganti konfigurasi database, tidak perlu membarui aba-aba migration, dengan tinggal jalankan perintah php artisan migrate

Serah Terima Kekuasaan

Jon dengan Dodo angkat tangan telak. Setelah dibandingkan lewat 7 ala kasus, migration buah tangan Laravel jauh bertambah afdal dengan efektif. Di awal-awal memang terlihat bertambah ribet akibat kudu harus mendefinisikan skema database pada bentuk aba-aba php, biasa disebut dengan Schema Builder. Tapi selanjutnya amat memudahkan, lebih-lebih pada cara deployment aplikasi. Dimanapun aplikasi hendak di-install, tinggal jalankan perintah php artisan migrate dengan database siap digunakan. Tidak ada tanggal yang kudu diingat, semua pencatatan dilakukan secara otomatis oleh Laravel.

Dalam darmawisata pulang, Jon berbicara ke Dodo, “Laravel ga banget ya, nyontek citra saya akan metode perubahan database.”.

“Iya sih, tapi mereka mengeksekusinya dengan bertambah baik, memberi hati penggunanya”, balas Dodo.

Jon lagi tetap Jon, sedemikian itu kembali Dodo. Duo programmer eksentrik dengan kepribadian abdi level dewa yang tidak encer diubah pendiriannya. Tapi kali ini Laravel berjaya andal mereka.

Dokumentasi afdal akan migration bisa dilihat di http://laravel.com/docs/master/migrations.

oke pembahasan perihal Kisah Jon Dodo 2: Database Migration di Laravel semoga artikel ini bermanfaat salam

tulisan ini diposting pada kategori mysql laravel tanggal, laravel mysql date between, mysql laravel date, , tanggal 25-08-2019, di kutip dari http://id-laravel.com/post/kisah-jon-dodo-2-database-migration-laravel

Related Posts

Post a Comment