Cara Menggunakan Migrasi Laravel: Tutorial Langkah demi Langkah
May 13, 2025 am 12:15 AMMigrasi Laravel menyelaraskan pengurusan pangkalan data dengan membenarkan perubahan skema ditakrifkan dalam kod PHP, yang boleh dikawal dan dikongsi versi. Inilah cara menggunakannya: 1) Buat kelas penghijrahan untuk menentukan operasi seperti membuat atau mengubah suai jadual. 2) Gunakan perintah 'php artisan migrate' untuk memohon migrasi dan 'php artisan bermigrasi: rollback' untuk membalikkannya. 3) Ikuti amalan terbaik seperti ujian dalam pembangunan dan menggunakan biji untuk data awal.
Migrasi Laravel adalah alat penting untuk menguruskan perubahan skema pangkalan data dalam cara yang bersih dan versi yang dikawal. Jika anda pernah mendapati diri anda secara manual mengubah struktur pangkalan data anda, anda tahu bagaimana ia membosankan dan rawan kesilapan. Migrasi menyelesaikannya dengan membolehkan anda menentukan skema pangkalan data anda dalam kod PHP, yang boleh dikawal versi dan mudah dikongsi di seluruh pasukan pembangunan anda. Mari kita menyelam bagaimana anda boleh memanfaatkan migrasi Laravel untuk menyelaraskan proses pengurusan pangkalan data anda.
Apabila saya mula menggunakan Laravel, saya kagum bagaimana migrasi dapat memudahkan aliran kerja saya. Tidak ada lagi skrip SQL yang bertaburan di sekitar projek saya atau bimbang sama ada rakan sepasukan saya mempunyai perubahan skema terkini. Migrasi menjadi penyelesaian saya untuk pengurusan pangkalan data, dan saya teruja untuk berkongsi dengan anda bagaimana untuk memanfaatkan kuasa mereka dengan berkesan.
Untuk mula menggunakan migrasi Laravel, anda perlu memahami beberapa konsep utama. Migrasi pada dasarnya adalah kelas yang mewakili satu set operasi pangkalan data. Operasi ini boleh mewujudkan jadual, mengubah suai yang sedia ada, atau bahkan menjatuhkannya. Keindahan migrasi terletak pada kebolehulangan mereka; Anda boleh melancarkan perubahan jika diperlukan, yang sangat berguna semasa pembangunan.
Mari kita melompat ke dalam contoh praktikal untuk melihat bagaimana ini berfungsi. Katakan anda ingin membuat jadual baru untuk menyimpan maklumat pengguna. Inilah cara anda melakukannya:
Gunakan Illuminate \ Database \ Migrations \ Migration; Gunakan Illuminate \ Database \ Skema \ Blueprint; Gunakan Illuminate \ Support \ Facades \ Skema; kelas createUsstable memanjangkan penghijrahan { fungsi awam () { Skema :: Create ('Users', Function (Blueprint $ Table) { $ Table-> id (); $ Table-> String ('Name'); $ Table-> String ('E-mel')-> Unik (); $ Table-> Timestamp ('Email_Verified_at')-> nullable (); $ Table-> String ('Kata Laluan'); $ Table-> ingatToken (); $ Table-> Timestamps (); }); } fungsi awam turun () { Skema :: dropifexists ('pengguna'); } }
Kelas Migrasi ini mentakrifkan struktur jadual users
. Kaedah up
adalah di mana anda menentukan apa yang perlu dilakukan apabila penghijrahan dijalankan, dan kaedah down
mentakrifkan bagaimana untuk membalikkan perubahan tersebut. Menjalankan penghijrahan ini akan membuat jadual users
dengan lajur yang ditentukan.
Sekarang, untuk menjalankan penghijrahan ini, anda akan menggunakan perintah artisan berikut:
PHP Artisan berhijrah
Perintah ini akan melaksanakan semua migrasi yang belum selesai, membawa skema pangkalan data anda sehingga kini. Sekiranya anda perlu melancarkan penghijrahan terakhir, anda boleh menggunakan:
PHP Artisan Migrate: Rollback
Salah satu perkara yang saya sayangi tentang migrasi Laravel adalah fleksibiliti mereka. Anda boleh mengubah suai jadual sedia ada dengan mudah. Katakan anda ingin menambah lajur baru ke jadual users
untuk menyimpan nombor telefon pengguna:
Gunakan Illuminate \ Database \ Migrations \ Migration; Gunakan Illuminate \ Database \ Skema \ Blueprint; Gunakan Illuminate \ Support \ Facades \ Skema; AddPhonetouserstable kelas memanjangkan penghijrahan { fungsi awam () { Skema :: Table ('Pengguna', Fungsi (Blueprint $ Table) { $ Table-> String ('Phone')-> nullable ()-> selepas ('e-mel'); }); } fungsi awam turun () { Skema :: Table ('Pengguna', Fungsi (Blueprint $ Table) { $ Table-> DropColumn ('Phone'); }); } }
Penghijrahan ini akan menambah lajur phone
ke jadual users
apabila dijalankan. Kaedah after
memastikan lajur baru diletakkan tepat selepas lajur email
, yang boleh berguna untuk mengekalkan pesanan logik dalam struktur jadual anda.
Apabila bekerja dengan migrasi, sangat penting untuk menyimpan beberapa amalan terbaik dalam fikiran. Sentiasa menguji migrasi anda dalam persekitaran pembangunan sebelum memohon mereka untuk pengeluaran. Ini membantu menangkap sebarang masalah awal. Juga, pertimbangkan untuk menggunakan Seeders untuk mengisi pangkalan data anda dengan data awal selepas migrasi, yang boleh menjadi sangat berguna untuk menyediakan persekitaran ujian atau menyediakan data lalai untuk aplikasi anda.
Satu perangkap yang berpotensi untuk mengetahui adalah penamaan fail penghijrahan anda. Laravel menggunakan cap waktu dalam nama fail untuk menentukan susunan pelaksanaan, jadi penting untuk memastikan migrasi anda dinamakan dengan betul untuk mengekalkan urutan yang betul. Di samping itu, berhati -hati apabila melancarkan migrasi dalam pengeluaran, kerana ini boleh menyebabkan kehilangan data jika tidak ditangani dengan teliti.
Dari segi prestasi, migrasi secara amnya cekap, tetapi untuk aplikasi berskala besar dengan banyak migrasi, anda mungkin ingin mempertimbangkan menggunakan bendera --pretend
untuk melihat apa yang SQL akan dilaksanakan tanpa benar-benar menjalankannya:
PHP Artisan Migrate -PretEndend
Ini dapat membantu anda mengkaji semula perubahan sebelum melakukan mereka, terutamanya dalam senario yang kompleks.
Secara keseluruhannya, migrasi Laravel adalah alat yang berkuasa yang dapat meningkatkan aliran kerja pengurusan pangkalan data anda dengan ketara. Dengan mengikuti langkah -langkah dan amalan terbaik yang digariskan di sini, anda akan berada dalam perjalanan untuk menguasai migrasi dan mengekalkan skema pangkalan data anda selaras dengan keperluan aplikasi anda yang berkembang.
Atas ialah kandungan terperinci Cara Menggunakan Migrasi Laravel: Tutorial Langkah demi Langkah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

TowOrkeffectivyWithPivotTableSinlaravel, firstAccessPivotDataingWithPivot () orwithTimestamps (), thenupdateEntriesWithupdatee XistingPivot (), ManagerelationshipSviadetach () andSync (), AnduseCustompivotModelSwhenneeded.1.usewithPivot () toincludespecificcol

Pengoptimuman prestasi Laravel dapat meningkatkan kecekapan aplikasi melalui empat arah teras. 1. Gunakan mekanisme cache untuk mengurangkan pertanyaan pendua, menyimpan data yang jarang berubah melalui cache :: ingat () dan kaedah lain untuk mengurangkan kekerapan akses pangkalan data; 2. Mengoptimumkan pangkalan data dari model ke pernyataan pertanyaan, elakkan pertanyaan n 1, menentukan pertanyaan medan, menambah indeks, pemprosesan paging dan pemisahan membaca dan menulis, dan mengurangkan kesesakan; 3. Gunakan operasi yang memakan masa seperti menghantar e-mel dan mengeksport fail ke pemprosesan asynchronous giliran, gunakan penyelia untuk menguruskan pekerja dan menubuhkan mekanisme semula; 4. Gunakan middleware dan penyedia perkhidmatan dengan munasabah untuk mengelakkan logik kompleks dan kod permulaan yang tidak perlu, dan kelewatan pemuatan perkhidmatan untuk meningkatkan kecekapan permulaan.

Kaedah untuk menguruskan keadaan pangkalan data dalam ujian Laravel termasuk menggunakan refreshDatabase, pembenihan data selektif, penggunaan transaksi yang teliti, dan pembersihan manual jika perlu. 1. Gunakan RefreshDatabaseTrait untuk secara automatik memindahkan struktur pangkalan data untuk memastikan setiap ujian didasarkan pada pangkalan data yang bersih; 2. Gunakan benih tertentu untuk mengisi data yang diperlukan dan menghasilkan data dinamik dalam kombinasi dengan kilang model; 3. Gunakan DatabaseTransactionsTrait untuk melancarkan perubahan ujian, tetapi perhatikan batasannya; 4. Kaedah ini dipilih secara fleksibel mengikut jenis ujian dan persekitaran untuk memastikan kebolehpercayaan dan kecekapan ujian.

Laravelsanctum sesuai untuk pensijilan API yang sederhana dan ringan seperti SPA atau aplikasi mudah alih, manakala pasport sesuai untuk senario di mana fungsi OAuth2 penuh diperlukan. 1. Sanctum menyediakan pengesahan berasaskan token, sesuai untuk pelanggan pihak pertama; 2. Pasport menyokong proses kompleks seperti kod kebenaran dan kelayakan pelanggan, sesuai untuk pemaju pihak ketiga untuk mengakses; 3. Pemasangan dan konfigurasi Sanctum adalah lebih mudah dan kos penyelenggaraan adalah rendah; 4. Fungsi pasport adalah komprehensif tetapi konfigurasi adalah kompleks, sesuai untuk platform yang memerlukan kawalan kebenaran yang baik. Apabila memilih, anda harus menentukan sama ada ciri OAuth2 diperlukan berdasarkan keperluan projek.

Laravel memudahkan pemprosesan transaksi pangkalan data dengan sokongan terbina dalam. 1. Gunakan kaedah DB :: Transaksi () untuk melakukan operasi secara automatik atau rollback untuk memastikan integriti data; 2. Sokongan urus niaga bersarang dan melaksanakannya melalui SavePoints, tetapi biasanya disyorkan untuk menggunakan pembungkus transaksi tunggal untuk mengelakkan kerumitan; 3. Menyediakan kaedah kawalan manual seperti begIntransaction (), komit () dan rollback (), sesuai untuk senario yang memerlukan pemprosesan yang lebih fleksibel; 4. Amalan terbaik termasuk menjaga urus niaga pendek, hanya menggunakannya apabila perlu, menguji kegagalan, dan merakam maklumat rollback. Kaedah pengurusan transaksi yang rasional dapat membantu meningkatkan kebolehpercayaan aplikasi dan prestasi.

Cara yang paling biasa untuk menjana laluan yang dinamakan di Laravel adalah menggunakan fungsi penolong laluan (), yang secara automatik sepadan dengan laluan berdasarkan nama laluan dan mengendalikan parameter mengikat. 1. Lulus nama laluan dan parameter dalam pengawal atau pandangan, seperti laluan ('user.profile', ['id' => 1]); 2. Apabila pelbagai parameter, anda hanya perlu lulus array, dan perintah itu tidak menjejaskan padanan, seperti laluan ('user.post.show', ['id' => 1, 'postid' => 10]); 3. Pautan boleh dibenamkan secara langsung dalam templat bilah, seperti melihat maklumat; 4. Apabila parameter pilihan tidak disediakan, mereka tidak dipaparkan, seperti laluan ('user.post',

Inti mengendalikan permintaan dan respons HTTP di Laravel adalah untuk menguasai pengambilalihan data permintaan, pulangan tindak balas dan muat naik fail. 1. Apabila menerima data permintaan, anda boleh menyuntik contoh permintaan melalui jenis petikan dan menggunakan input () atau kaedah sihir untuk mendapatkan medan, dan menggabungkan mengesahkan () atau membentuk kelas permintaan untuk pengesahan; 2. REBAT RESPONSE menyokong rentetan, pandangan, JSON, respons dengan kod status dan tajuk dan operasi redirect; 3. Apabila memproses fail muat naik, anda perlu menggunakan kaedah fail () dan simpan () untuk menyimpan fail. Sebelum memuat naik, anda perlu mengesahkan jenis dan saiz fail, dan laluan penyimpanan boleh disimpan ke pangkalan data.

Keutamaan barisan Laravel dikawal melalui urutan permulaan. Langkah -langkah tertentu ialah: 1. Tentukan pelbagai giliran dalam fail konfigurasi; 2. Tentukan keutamaan giliran apabila memulakan pekerja, seperti phpartisanqueue: kerja-queue = tinggi, lalai; 3. Gunakan kaedah onqueue () untuk menentukan nama giliran apabila mengedarkan tugas; 4. Gunakan Laravelhorizon dan alat lain untuk memantau dan mengurus prestasi barisan. Ini memastikan bahawa tugas-tugas keutamaan yang tinggi diproses terlebih dahulu sambil mengekalkan kestabilan kod dan kestabilan sistem.
