Rumah  >  Artikel  >  rangka kerja php  >  Penghijrahan pangkalan data Laravel: menguruskan perubahan struktur pangkalan data dengan lancar

Penghijrahan pangkalan data Laravel: menguruskan perubahan struktur pangkalan data dengan lancar

PHPz
PHPzasal
2023-08-13 19:37:581558semak imbas

Penghijrahan pangkalan data Laravel: menguruskan perubahan struktur pangkalan data dengan lancar

Migrasi Pangkalan Data Laravel: Urus perubahan struktur pangkalan data dengan lancar

Gambaran Keseluruhan
Semasa proses pembangunan, perubahan struktur pangkalan data adalah keperluan biasa. Walau bagaimanapun, mengemas kini struktur pangkalan data secara manual boleh membosankan dan ralat sering berlaku. Untuk menyelesaikan masalah ini, Laravel menyediakan alat pemindahan pangkalan data yang boleh membantu kami mengurus perubahan pada struktur pangkalan data dengan mudah.

Apakah itu pemindahan pangkalan data?
Migrasi pangkalan data ialah kaedah mengurus perubahan struktur pangkalan data menggunakan kod. Dengan menggunakan skrip migrasi, kami boleh membuat jadual dengan mudah, mengubah suai struktur jadual, menambah, memadam, mengubah suai medan dan banyak lagi. Alat migrasi pangkalan data akan menjejaki butiran setiap perubahan yang kami buat secara automatik dan memastikan setiap perubahan boleh digunakan atau digulung semula dengan betul untuk mencapai pengurusan perubahan struktur pangkalan data yang lancar.

Operasi asas migrasi pangkalan data Laravel
Pertama, kita perlu mencipta skrip migrasi. Anda boleh menggunakan arahan berikut untuk menjana skrip migrasi baharu:

php artisan make:migration create_users_table

Ini akan mencipta fail migrasi baharu dalam direktori "pangkalan data/penghijrahan" dengan nama fail yang serupa dengan "2022_01_01_000000_create_users_table.php". Seterusnya, kami boleh mentakrifkan perubahan struktur pangkalan data kami dalam kaedah "naik" fail migrasi:

use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;

class CreateUsersTable extends Migration {
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

    public function down()
    {
        Schema::dropIfExists('users');
    }
}

Dalam contoh ini, kami mencipta jadual "pengguna" dan menambah beberapa medan biasa seperti "nama", " e-mel" dan " kata laluan". Kaedah "atas" digunakan untuk mentakrifkan operasi menambah medan dan mencipta jadual, manakala kaedah "bawah" digunakan untuk mentakrifkan operasi rollback, iaitu, membuat asal perubahan yang kami buat.

Laksanakan migrasi
Setelah kami selesai menulis skrip migrasi, kami boleh menjalankan arahan berikut untuk melaksanakan migrasi:

php artisan migrate

Ini akan secara automatik menjalankan semua skrip migrasi kami yang belum dijalankan dan menggunakan perubahan pada pangkalan data . Jika kita perlu kembali ke versi sebelumnya, kita boleh menjalankan arahan berikut:

php artisan migrate:rollback

Ini akan membuat asal operasi migrasi terbaharu.

Kemas kini Migrasi
Semasa proses pembangunan, kita selalunya perlu mengubah suai struktur pangkalan data sedia ada. Apabila kita perlu mengubah suai jadual sedia ada, kita boleh mencipta skrip migrasi baharu dan menggunakan kaedah Skema yang disediakan oleh Laravel dalam kaedah "atas" untuk melaksanakan operasi perubahan. Sebagai contoh, kami ingin menambah medan "umur" pada jadual "pengguna":

use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;

class AddAgeToUsers extends Migration {
    public function up()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->integer('age')->default(18);
        });
    }

    public function down()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->dropColumn('age');
        });
    }
}

Dalam contoh ini, kami menggunakan kaedah "Skema::jadual" untuk mengubah suai jadual sedia ada. Kami menambah medan integer yang dipanggil "umur" dan menetapkan nilai lalai kepada 18. Jika kita perlu melancarkan operasi ini, kita boleh menjalankan perintah "php artisan migrate:rollback".

Ringkasan
Dengan menggunakan alat pemindahan pangkalan data Laravel, kami boleh mengurus perubahan pada struktur pangkalan data dengan mudah. Alat migrasi mengautomasikan proses perubahan pangkalan data, membolehkan kami menumpukan pada pembangunan dan lelaran tanpa perlu risau tentang ketekalan struktur pangkalan data. Saya harap artikel ini dapat membantu pembaca lebih memahami dan menggunakan alat migrasi pangkalan data.

Atas ialah kandungan terperinci Penghijrahan pangkalan data Laravel: menguruskan perubahan struktur pangkalan data dengan lancar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn