Latihan 1: Migrasi Database — Laravel

Latihan 1 dari materi Migrasi Database di Laravel — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Kode awalnya sudah berisi migration untuk tabel products: Schema::create('products', ...) di up() dan Schema::dropIfExists('products') di down(). Biarkan keduanya, lalu ganti komentar // Tambahkan kolom dengan kolom-kolom ini:

  1. $table->id() untuk kolom id.
  2. name: string, maksimal 255 karakter: $table->string('name') (atau $table->string('name', 255)).
  3. price: integer.
  4. category: string yang boleh kosong, dengan ->nullable().
  5. in_stock: boolean dengan nilai bawaan true, dengan ->default(true).
  6. $table->timestamps() untuk created_at dan updated_at.

Saat dijalankan, migration-nya dijalankan seperti php artisan migrate, di database SQLite (bawaan proyek Laravel 13), dan SQL yang dikirimnya dicetak di bawah nama migration-nya, seperti php artisan migrate --pretend:

create table "products" ("id" integer primary key autoincrement not null, "name" varchar not null, "price" integer not null, "category" varchar, "in_stock" tinyint(1) not null default '1', "created_at" datetime, "updated_at" datetime)

Di SQLite, string jadi varchar dan boolean jadi tinyint(1). Di MySQL, string tertulis varchar(255).

Yang diperiksa:

Hint