Rumah > pembangunan bahagian belakang > tutorial php > Apakah migrasi di Laravel?

Apakah migrasi di Laravel?

百草
Lepaskan: 2025-03-20 18:34:41
asal
118 orang telah melayarinya

Apakah migrasi di Laravel?

Migrasi di Laravel adalah jenis kawalan versi untuk pangkalan data. Mereka membenarkan pemaju untuk mengurus dan mengubahsuai struktur pangkalan data mereka menggunakan kod PHP, dan bukannya menulis secara manual pernyataan SQL. Migrasi menyediakan cara untuk menentukan perubahan skema pangkalan data dalam satu siri langkah tambahan, menjadikannya lebih mudah untuk mengubah suai dan berkongsi struktur pangkalan data di seluruh persekitaran dan ahli pasukan yang berbeza.

Migrasi di Laravel pada dasarnya adalah kelas PHP yang memperluaskan kelas Migration asas yang disediakan oleh rangka kerja. Kelas -kelas ini mengandungi dua kaedah utama: up dan down . Kaedah up mentakrifkan tindakan yang akan diambil apabila berhijrah 'naik', seperti membuat jadual baru atau menambah lajur, sementara kaedah down mentakrifkan bagaimana untuk membalikkan perubahan tersebut, seperti menjatuhkan jadual atau mengeluarkan lajur.

Bagaimanakah migrasi dapat membantu menguruskan perubahan skema pangkalan data di Laravel?

Migrasi membantu menguruskan perubahan skema pangkalan data Laravel dalam beberapa cara:

  1. Kawalan Versi : Migrasi bertindak sebagai sistem kawalan versi untuk skema pangkalan data anda. Dengan menjejaki perubahan dalam kod, anda boleh menyimpan sejarah bagaimana pangkalan data anda berkembang dari masa ke masa.
  2. Kerjasama : Migrasi memudahkan pasukan untuk bekerjasama dalam projek. Pemaju boleh bekerja pada ciri -ciri yang berbeza yang mungkin memerlukan perubahan pangkalan data, dan perubahan ini dapat dengan mudah digabungkan dan dikongsi dengan orang lain melalui fail penghijrahan.
  3. Konsistensi : Menggunakan migrasi memastikan semua persekitaran (pembangunan, pementasan, pengeluaran) mempunyai skema yang sama. Ini mengurangkan risiko kesilapan yang berlaku disebabkan oleh ketidakcocokan skema di seluruh persekitaran yang berbeza.
  4. Rollbacks : Migrasi membolehkan anda melancarkan perubahan jika ada yang tidak kena. Ini bermakna anda boleh kembali ke keadaan sebelumnya pangkalan data anda dengan mudah, yang sangat berguna semasa fasa pembangunan dan ujian.
  5. Automasi : Migrasi boleh dijalankan secara automatik sebagai sebahagian daripada proses penempatan anda, mengurangkan kemungkinan kesilapan manusia dan memastikan skema pangkalan data anda sentiasa terkini.

Apakah proses membuat dan menjalankan penghijrahan di Laravel?

Proses membuat dan menjalankan penghijrahan di Laravel melibatkan beberapa langkah:

  1. Buat penghijrahan : Untuk membuat penghijrahan baru, anda boleh menggunakan perintah artisan make:migration . Sebagai contoh, untuk membuat penghijrahan yang menambah jadual baru yang dipanggil users , anda akan menjalankan:

     <code>php artisan make:migration create_users_table</code>
    Salin selepas log masuk

    Perintah ini akan membuat fail PHP baru dalam direktori database/migrations .

  2. Edit Fail Migrasi : Buka fail yang baru dibuat dan edit kaedah up and down untuk menentukan perubahan skema. Sebagai contoh, untuk membuat jadual users , kaedah up anda mungkin kelihatan seperti ini:

     <code class="php">public function up() { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); }); }</code>
    Salin selepas log masuk

    Kaedah down harus membalikkan perubahan ini:

     <code class="php">public function down() { Schema::dropIfExists('users'); }</code>
    Salin selepas log masuk
  3. Jalankan Migrasi : Untuk menggunakan perubahan pada pangkalan data, gunakan perintah artisan migrate :

     <code>php artisan migrate</code>
    Salin selepas log masuk

    Perintah ini akan melaksanakan kaedah up semua migrasi yang belum selesai, mengemas kini skema pangkalan data dengan sewajarnya.

Bolehkah migrasi dilancarkan di Laravel, dan jika ya, bagaimana?

Ya, migrasi di Laravel dapat dilancarkan kembali. Ciri ini amat berguna semasa pembangunan apabila anda mungkin perlu membatalkan perubahan skema baru -baru ini. Untuk melancarkan penghijrahan terakhir, anda boleh menggunakan perintah rollback artisan:

 <code>php artisan migrate:rollback</code>
Salin selepas log masuk

Perintah ini akan melaksanakan kaedah down yang paling terkini, membalikkan perubahan yang dibuat kepada pangkalan data.

Sekiranya anda perlu melancarkan pelbagai penghijrahan, anda boleh menentukan bilangan migrasi untuk melancarkan kembali menggunakan pilihan --step . Sebagai contoh, untuk melancarkan tiga penghijrahan terakhir, anda akan menjalankan:

 <code>php artisan migrate:rollback --step=3</code>
Salin selepas log masuk

Sebagai tambahan kepada migrasi balik, Laravel menyediakan migrate:reset , yang menggulung semua migrasi:

 <code>php artisan migrate:reset</code>
Salin selepas log masuk

Ini akan membatalkan semua migrasi dan meninggalkan pangkalan data anda dalam keadaan awalnya. Jika anda ingin melancarkan semua migrasi dan kemudian menjalankan semula semua migrasi, anda boleh menggunakan migrate:refresh :

 <code>php artisan migrate:refresh</code>
Salin selepas log masuk

Ini bersamaan dengan menjalankan migrate:reset diikuti oleh migrate .

Atas ialah kandungan terperinci Apakah migrasi di Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan