Rumah  >  Artikel  >  rangka kerja php  >  Migrasi Pangkalan Data dan Populasi dengan Laravel: Mengurus Perubahan Struktur Data

Migrasi Pangkalan Data dan Populasi dengan Laravel: Mengurus Perubahan Struktur Data

WBOY
WBOYasal
2023-08-13 10:21:041306semak imbas

Migrasi Pangkalan Data dan Populasi dengan Laravel: Mengurus Perubahan Struktur Data

Menggunakan Laravel untuk migrasi pangkalan data dan populasi: mengurus perubahan struktur data

Apabila membangunkan aplikasi web, pangkalan data adalah bahagian penting. Apabila projek berulang dan keperluan berubah, struktur pangkalan data akan terus berubah. Untuk memudahkan pengurusan dan penyelenggaraan perubahan struktur pangkalan data, Laravel menyediakan dua fungsi: migrasi dan pengisian pangkalan data.

Migrasi pangkalan data ialah kaedah mengurus perubahan struktur pangkalan data menggunakan kod. Ia membolehkan anda membuat, mengubah suai atau memadam struktur pangkalan data seperti jadual, medan dan indeks dengan menulis skrip migrasi boleh jalan semula. Populasi pangkalan data ialah kaedah yang digunakan untuk menambah data awal ke pangkalan data. Populasi membolehkan anda memasukkan data ujian tertentu secara automatik ke dalam pangkalan data selepas setiap penghijrahan.

Di bawah ini kami menggunakan contoh mudah untuk menunjukkan cara menggunakan fungsi migrasi dan pengisian pangkalan data Laravel.

Mula-mula, buka terminal dan pergi ke direktori akar projek Laravel anda. Mula-mula kita perlu membuat migrasi yang mencipta jadual yang dipanggil "pengguna".

php artisan make:migration create_users_table --create=users

Selepas menjalankan perintah di atas, Laravel akan menjana fail migrasi baharu dalam direktori database/migration Nama fail ialah cap waktu semasa ditambah create_users_table. Seterusnya, kami membuka fail migrasi yang dijana, cari kaedah up dan isikan kod berikut: database/migrations目录下生成一个新的迁移文件,文件名为当前时间戳加上create_users_table。接下来,我们打开生成的迁移文件,找到up方法,并填充下面的代码:

<?php

use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;

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

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

在上述代码中,我们使用Schema类来创建了一个users表,该表包含了idnameemailpasswordtimestamps五个字段。up方法用于创建表,而down方法用于回滚迁移时删除表。

接下来,我们可以运行以下命令来执行迁移:

php artisan migrate

运行以上命令后,Laravel将会执行迁移文件,创建users表。

接下来,我们可以创建一个填充文件,用于向users表中插入一些初始数据。运行以下命令创建填充文件:

php artisan make:seeder UsersTableSeeder

运行以上命令后,Laravel将会在database/seeds目录下生成一个新的填充文件,文件名为UsersTableSeeder

打开生成的填充文件,找到run方法,并填充下面的代码:

<?php

use IlluminateDatabaseSeeder;
use IlluminateSupportFacadesDB;
use IlluminateSupportFacadesHash;

class UsersTableSeeder extends Seeder
{
    public function run()
    {
        DB::table('users')->insert([
            'name' => 'John Doe',
            'email' => 'john@example.com',
            'password' => Hash::make('password123'),
        ]);
    }
}

在上述代码中,我们使用DB类来插入了一个用户数据,包含了nameemailpassword三个字段。

最后,我们可以通过以下命令来运行填充:

php artisan db:seed --class=UsersTableSeeder

运行以上命令后,Laravel将会执行填充文件,向usersrrreee

Dalam kod di atas, kami menggunakan kelas Skema untuk mencipta jadual pengguna, yang mengandungi id, name, emel, password dan cap masaLima medan. Kaedah up digunakan untuk mencipta jadual, manakala kaedah down digunakan untuk memadamkan jadual apabila melancarkan semula migrasi.

Seterusnya, kita boleh menjalankan arahan berikut untuk melakukan migrasi:

rrreee

Selepas menjalankan arahan di atas, Laravel akan melaksanakan fail migrasi dan mencipta jadual pengguna. 🎜🎜Seterusnya, kita boleh mencipta fail isian untuk memasukkan beberapa data awal ke dalam jadual pengguna. Jalankan arahan berikut untuk mencipta fail isian: 🎜rrreee🎜Selepas menjalankan arahan di atas, Laravel akan menjana fail isian baharu dalam direktori pangkalan data/benih, dengan nama fail UsersTableSeeder kod>. 🎜🎜Buka fail isian yang dijana, cari kaedah <code>run dan isikan kod berikut: 🎜rrreee🎜Dalam kod di atas, kami menggunakan kelas DB untuk memasukkan data pengguna , termasuk tiga medan: nama, e-mel dan kata laluan. 🎜🎜Akhir sekali, kita boleh menjalankan populasi melalui arahan berikut: 🎜rrreee🎜Selepas menjalankan arahan di atas, Laravel akan melaksanakan fail populasi dan memasukkan data awal ke dalam jadual pengguna. 🎜🎜Melalui contoh di atas, kita dapat melihat bahawa menggunakan migrasi pangkalan data Laravel dan fungsi pengisian, kita boleh mengurus dan mengekalkan perubahan struktur pangkalan data dengan mudah, dan pada masa yang sama, kita juga boleh memasukkan data awal secara automatik ke dalam pangkalan data. Dengan cara ini, kami boleh melaksanakan operasi pangkalan data dan kerja pembangunan dengan lebih cekap. 🎜🎜Ringkasnya, fungsi migrasi dan pengisian pangkalan data Laravel sangat berguna, ia boleh membantu kami mengurus perubahan struktur dalam pangkalan data dan menjimatkan masa dan tenaga kami untuk mengendalikan pangkalan data secara manual. Saya berharap melalui pengenalan artikel ini, pembaca akan mempunyai pemahaman yang lebih jelas tentang cara menggunakan Laravel untuk migrasi dan pengisian pangkalan data. 🎜

Atas ialah kandungan terperinci Migrasi Pangkalan Data dan Populasi dengan Laravel: Mengurus Perubahan Struktur Data. 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