Rumah pembangunan bahagian belakang tutorial php Perisian tengah Laravel: Tambahkan pemindahan pangkalan data dan pengurusan versi pada aplikasi anda

Perisian tengah Laravel: Tambahkan pemindahan pangkalan data dan pengurusan versi pada aplikasi anda

Aug 02, 2023 am 10:17 AM
Pengurusan versi Penghijrahan pangkalan data perisian tengah laravel

Laravel middleware: Tambahkan migrasi pangkalan data dan pengurusan versi pada aplikasi

Apabila membangun dan menyelenggara aplikasi web, migrasi pangkalan data dan pengurusan versi adalah tugas yang sangat penting. Ia membolehkan kami mengurus struktur dan data pangkalan data dengan mudah tanpa perlu mengemas kini atau membina semula pangkalan data secara manual. Rangka kerja Laravel menyediakan pemindahan pangkalan data dan fungsi pengurusan versi yang berkuasa dan mudah Dengan menggunakan perisian tengah, kami boleh menyepadukan fungsi ini dengan lebih mudah ke dalam aplikasi kami.

Pertama, kami perlu memastikan projek Laravel kami dipasang dan berjalan dengan betul. Dalam artikel ini, kami akan menumpukan pada cara menggunakan perisian tengah Laravel untuk menambah pemindahan pangkalan data dan keupayaan pengurusan versi pada aplikasi kami.

Pertama, kami perlu memperkenalkan pakej illuminate/database ke dalam projek kami. Buka fail composer.json projek dan tambah kod berikut: illuminate/database包。打开项目的composer.json文件并添加以下代码:

"require": {
    "illuminate/database": "^8.0"
}
Salin selepas log masuk

保存文件后,在命令行中运行composer update命令以安装该包。

接下来,我们需要在Laravel项目的config/app.php文件中配置我们的数据库连接。在databases数组中添加以下代码:

'mysql' => [
    'driver' => 'mysql',
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', '3306'),
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
    'password' => env('DB_PASSWORD', ''),
    'unix_socket' => env('DB_SOCKET', ''),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'strict' => true,
    'engine' => null,
],
Salin selepas log masuk

确保你已经设置了正确的数据库连接参数,并保存文件。

现在,我们将创建一个中间件来处理数据库迁移和版本管理。在命令行中,输入以下命令创建一个名为DatabaseMiddleware的中间件类:

php artisan make:middleware DatabaseMiddleware
Salin selepas log masuk

此命令将在app/Http/Middleware目录下创建一个名为DatabaseMiddleware.php的文件。打开该文件,并使用以下代码替换其中的内容:

<?php

namespace AppHttpMiddleware;

use Closure;
use IlluminateDatabaseMigrationsMigrator;

class DatabaseMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  IlluminateHttpRequest  $request
     * @param  Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $migrator = new Migrator(app('db'), app('migration.repository'));

        if ($this->needsMigration($migrator)) {
            $migrator->run(database_path('migrations'));
        }

        if ($this->needsSeeding($migrator)) {
            $migrator->run(database_path('seeds'));
        }

        return $next($request);
    }

    /**
     * Determine if the database needs to be migrated.
     *
     * @param  IlluminateDatabaseMigrationsMigrator  $migrator
     * @return bool
     */
    protected function needsMigration($migrator)
    {
        return count($migrator->pendingMigrations()) > 0;
    }

    /**
     * Determine if the database needs to be seeded.
     *
     * @param  IlluminateDatabaseMigrationsMigrator  $migrator
     * @return bool
     */
    protected function needsSeeding($migrator)
    {
        return $migrator->repositoryExists() && !$migrator->repositoryHasSeeded();
    }
}
Salin selepas log masuk

上述代码中,我们创建了一个名为DatabaseMiddleware的中间件类。在handle方法中,我们使用Migrator类来执行数据库迁移和版本管理操作。如果有未执行的迁移,我们将运行run方法来执行这些迁移。类似地,如果尚未进行过数据填充,我们将运行run方法来进行数据填充。

接下来,我们需要在应用程序的中间件配置文件中注册我们的中间件。打开app/Http/Kernel.php文件,在$routeMiddleware数组中添加以下代码:

'database' => AppHttpMiddlewareDatabaseMiddleware::class,
Salin selepas log masuk

保存文件后,我们的中间件已经注册到应用程序中了。

最后,我们需要在我们的路由或控制器中使用我们的中间件。假设我们要将数据库迁移和版本管理应用于所有路由,我们可以在web中间件组中使用database中间件。打开app/Providers/RouteServiceProvider.php文件,将以下代码添加到mapWebRoutes

protected function mapWebRoutes()
{
    Route::middleware('web', 'database') // 添加 'database' 中间件
        ->namespace($this->namespace)
        ->group(base_path('routes/web.php'));
}
Salin selepas log masuk
Selepas menyimpan fail, jalankan perintah composer update pada baris arahan untuk memasang pakej.

Seterusnya, kami perlu mengkonfigurasi sambungan pangkalan data kami dalam fail config/app.php projek Laravel. Tambahkan kod berikut dalam tatasusunan pangkalan data:

rrreee

Pastikan anda telah menetapkan parameter sambungan pangkalan data yang betul dan simpan fail.

Kini, kami akan mencipta perisian tengah untuk mengendalikan pemindahan pangkalan data dan pengurusan versi. Dalam baris arahan, masukkan arahan berikut untuk mencipta kelas middleware bernama DatabaseMiddleware: 🎜rrreee🎜Arahan ini akan mencipta kelas bernama Fail DatabaseMiddleware.php. Buka fail dan gantikan kandungannya dengan kod berikut: 🎜rrreee🎜Dalam kod di atas, kami mencipta kelas middleware bernama DatabaseMiddleware. Dalam kaedah handle, kami menggunakan kelas Migrator untuk melaksanakan penghijrahan pangkalan data dan operasi pengurusan versi. Jika terdapat migrasi yang tidak dilaksanakan, kami akan menjalankan kaedah run untuk melaksanakan migrasi ini. Begitu juga, jika pengisian data masih belum dilakukan, kami akan menjalankan kaedah run untuk melakukan pengisian data. 🎜🎜Seterusnya, kami perlu mendaftarkan middleware kami dalam fail konfigurasi middleware aplikasi. Buka fail app/Http/Kernel.php dan tambah kod berikut dalam tatasusunan $routeMiddleware: 🎜rrreee🎜Selepas menyimpan fail, middleware kami telah didaftarkan ke permohonan . 🎜🎜Akhir sekali, kami perlu menggunakan perisian tengah kami dalam laluan atau pengawal kami. Katakan kita ingin menggunakan migrasi pangkalan data dan versi pada semua laluan, kita boleh menggunakan perisian tengah pangkalan data dalam kumpulan perisian tengah web. Buka fail app/Providers/RouteServiceProvider.php dan tambahkan kod berikut pada kaedah mapWebRoutes: 🎜rrreee🎜Selepas menyimpan fail, kami telah berjaya menyepadukan migrasi pangkalan data dan versi perisian pengurusan ke dalam aplikasi kami. 🎜🎜Dengan langkah di atas, kami berjaya menggunakan perisian tengah Laravel untuk pemindahan pangkalan data dan pengurusan versi. Setiap kali kami mengakses aplikasi kami, middleware menyemak sama ada pangkalan data perlu dipindahkan atau versi dan melaksanakan operasi ini seperti yang diperlukan. 🎜🎜Semoga artikel ini dapat membantu anda dalam menggunakan Laravel untuk pemindahan pangkalan data dan pengurusan versi. Middleware menyediakan cara yang mudah untuk menyepadukan fungsi ini ke dalam aplikasi kami, menjadikan kerja pembangunan dan penyelenggaraan kami lebih cekap dan mudah. 🎜

Atas ialah kandungan terperinci Perisian tengah Laravel: Tambahkan pemindahan pangkalan data dan pengurusan versi pada aplikasi anda. 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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimanakah Node.js melaksanakan pengurusan versi? 3 alat pengurusan versi praktikal untuk dikongsi Bagaimanakah Node.js melaksanakan pengurusan versi? 3 alat pengurusan versi praktikal untuk dikongsi Aug 10, 2022 pm 08:20 PM

Bagaimanakah Node.js melaksanakan pengurusan versi? Artikel berikut akan berkongsi dengan anda 3 alat pengurusan versi Node.js yang sangat praktikal, saya harap ia akan membantu anda!

Petua migrasi pangkalan data dalam rangka kerja Django Petua migrasi pangkalan data dalam rangka kerja Django Jun 17, 2023 pm 01:10 PM

Django ialah rangka kerja pembangunan web yang ditulis dalam Python Ia menyediakan banyak alat dan modul yang mudah untuk membantu pembangun membina tapak web dan aplikasi dengan cepat. Salah satu ciri yang paling penting ialah fungsi pemindahan pangkalan data, yang boleh membantu kami menguruskan perubahan skema pangkalan data dengan mudah. Dalam artikel ini, kami akan memperkenalkan beberapa petua untuk menggunakan migrasi pangkalan data dalam Django, termasuk cara memulakan migrasi pangkalan data baharu, cara mengesan konflik migrasi pangkalan data, cara melihat rekod migrasi pangkalan data sejarah, dsb.

Langkah untuk melaksanakan migrasi pangkalan data (Migrasi) menggunakan rangka kerja Zend Langkah untuk melaksanakan migrasi pangkalan data (Migrasi) menggunakan rangka kerja Zend Jul 28, 2023 pm 05:54 PM

Langkah-langkah untuk melaksanakan migrasi pangkalan data (Migrasi) menggunakan rangka kerja Zend Pengenalan: Penghijrahan pangkalan data merupakan bahagian yang sangat diperlukan dalam proses pembangunan perisian Fungsinya adalah untuk memudahkan pengubahsuaian pasukan dan kawalan versi struktur pangkalan data semasa pembangunan. Rangka Kerja Zend menyediakan satu set alat pemindahan pangkalan data yang berkuasa yang boleh membantu kami mengurus perubahan pada struktur pangkalan data dengan mudah. Artikel ini akan memperkenalkan langkah cara menggunakan rangka kerja Zend untuk melaksanakan pemindahan pangkalan data dan melampirkan contoh kod yang sepadan. Langkah 1: Pasang Rangka Kerja Zend Dahulu

Cara mengendalikan pengecualian menggunakan perisian tengah dalam Laravel Cara mengendalikan pengecualian menggunakan perisian tengah dalam Laravel Nov 04, 2023 pm 02:26 PM

Cara menggunakan middleware untuk mengendalikan pengecualian dalam Laravel Middleware ialah konsep penting dalam rangka kerja Laravel Ia boleh melakukan satu siri operasi sebelum dan selepas permintaan sampai kepada pengawal. Selain pengesahan kebenaran biasa, pengelogan dan fungsi lain, perisian tengah juga boleh digunakan untuk mengendalikan pengecualian. Dalam artikel ini, kami akan meneroka cara menggunakan perisian tengah untuk mengendalikan pengecualian dalam Laravel dan memberikan contoh kod khusus. Pertama, kita perlu mencipta perisian tengah pengendalian pengecualian. Kelas middleware boleh dihasilkan dengan menjalankan arahan berikut:

PHP dan SQLite: Bagaimana untuk melakukan migrasi dan naik taraf pangkalan data PHP dan SQLite: Bagaimana untuk melakukan migrasi dan naik taraf pangkalan data Jul 28, 2023 pm 08:10 PM

PHP dan SQLite: Cara melakukan migrasi pangkalan data dan menaik taraf Penghijrahan dan peningkatan pangkalan data adalah tugas yang sangat biasa apabila membangunkan aplikasi web. Untuk pembangun yang menggunakan PHP dan SQLite, proses ini mungkin lebih rumit. Artikel ini akan memperkenalkan cara menggunakan PHP dan SQLite untuk migrasi dan naik taraf pangkalan data, serta menyediakan beberapa contoh kod untuk rujukan. Cipta pangkalan data SQLite Pertama, kita perlu mencipta pangkalan data SQLite. Menggunakan pangkalan data SQLite adalah sangat mudah, kami

Cara menggunakan perisian tengah untuk eksport data dalam Laravel Cara menggunakan perisian tengah untuk eksport data dalam Laravel Nov 02, 2023 am 08:29 AM

Laravel ialah rangka kerja aplikasi web PHP yang popular yang menyediakan banyak ciri mudah untuk membangunkan aplikasi web berprestasi tinggi, berskala dan mudah diselenggara. Salah satu ciri penting ialah perisian tengah, yang boleh melakukan operasi tertentu antara permintaan dan respons. Dalam artikel ini, kami akan membincangkan cara mengeksport data ke fail Excel menggunakan perisian tengah. Mencipta Aplikasi Laravel Mula-mula, kita perlu mencipta aplikasi Laravel. Anda boleh menggunakan co

Apakah kegunaan middleware laravel? Apakah kegunaan middleware laravel? Apr 09, 2024 pm 05:03 PM

Laravel middleware digunakan untuk: 1. Pengesahan dan kebenaran 2. Memproses permintaan dan respons HTTP; Middleware membolehkan pembangun menambah kefungsian dan kekangan dengan mudah pada aplikasi di luar pengawal laluan.

Cara menggunakan perisian tengah untuk kebenaran log masuk WeChat dalam Laravel Cara menggunakan perisian tengah untuk kebenaran log masuk WeChat dalam Laravel Nov 03, 2023 am 10:55 AM

Cara menggunakan perisian tengah untuk kebenaran log masuk WeChat dalam Laravel Dengan perkembangan pesat Internet mudah alih, log masuk pihak ketiga telah menjadi cara yang popular untuk pengguna mendaftar dan log masuk dengan cepat. Antaranya, log masuk WeChat adalah salah satu yang paling popular. Bagi pembangun, cara menggunakan log masuk WeChat untuk kebenaran dalam tapak web atau aplikasi mereka sendiri adalah keperluan biasa. Artikel ini akan memperkenalkan cara menggunakan perisian tengah dalam rangka kerja Laravel untuk melaksanakan fungsi kebenaran log masuk WeChat dan memberikan contoh kod khusus. Pertama, kita perlu memuat turun dan memasang Larav

See all articles