Press "Enter" to skip to content

Cara Mendapatkan Query SQL Dari File Migration Laravel

fadli 0

Untuk mendapatkan query dari file migration Laravel, kamu bisa menggunakan metode toSql() pada instance query builder.

Berikut adalah langkah-langkahnya:

  1. Buka file migrasi yang ingin kamu periksa. File migrasi Laravel biasanya disimpan di direktori database/migrations.
  2. Temukan method up() yang berisi pernyataan SQL untuk membuat atau memodifikasi tabel. Biasanya, Anda akan menemukan kode seperti ini:
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->timestamps();
        });
    }
  3. Di dalam method up(), kamu dapat memanggil metode toSql() pada instance Blueprint untuk mendapatkan query SQL yang dihasilkan. Contoh:
    public function up()
    {
        $query = Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->timestamps();
        });
    
        dd($query->toSql());
    }
    1. Jalankan perintah migration di terminal dengan menggunakan perintah php artisan migrate. Ketika migrasi dijalankan, kamu akan melihat output query SQL pada layar atau dalam log aplikasi, tergantung pada cara konfigurasi Laravel kamu.

    Dengan menggunakan metode ini, kamu dapat dengan mudah melihat query SQL yang dihasilkan oleh file migration Laravel.

Cara Alternatif (Recommended)

Jika cara diatas gagal, kamu bisa menggunakan cara yang sudah disediakan oleh laravel.

Yaitu hanya dengan menjalankan perintah :

php artisan migrate --pretend

Maka hasilnya akan menjadi seperti berikut:

Migration table created successfully.
CreateUsersTable: create table "users" ("id" integer not null primary key autoincrement, "name" varchar not null, "email" varchar not null, "password" varchar not null, "remember_token" varchar null, "created_at" datetime not null, "updated_at" datetime not null)
CreateUsersTable: create unique index users_email_unique on "users" ("email")
CreatePasswordResetsTable: create table "password_resets" ("email" varchar not null, "token" varchar not null, "created_at" datetime not null)
CreatePasswordResetsTable: create index password_resets_email_index on "password_resets" ("email")
CreatePasswordResetsTable: create index password_resets_token_index on "password_resets" ("token")

Jika ingin menyimpan nya kedalam sebuah file, jalankan perintah seperti berikut:

php artisan migrate --pretend --no-ansi > migrate.sql

Support Us

Jika artikel ini bermanfaat untuk kamu, atau membantu menyelesaikan masalah yang sedang kamu hadapi, kamu juga bisa dukung kami dengan mengunjungi halaman berikut: https://saweria.co/sangcahayaid

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: