Rumah > rangka kerja php > Laravel > Migrasi Data dan Populasi dengan Laravel: Mengurus Struktur Pangkalan Data Secara Fleksibel

Migrasi Data dan Populasi dengan Laravel: Mengurus Struktur Pangkalan Data Secara Fleksibel

PHPz
Lepaskan: 2023-08-26 09:28:45
asal
1071 orang telah melayarinya

Migrasi Data dan Populasi dengan Laravel: Mengurus Struktur Pangkalan Data Secara Fleksibel

Gunakan Laravel untuk pemindahan dan pengisian data: Pengurusan struktur pangkalan data yang fleksibel

Ringkasan:
Laravel ialah rangka kerja PHP yang sangat popular yang menyediakan cara mudah untuk mengurus struktur pangkalan data, termasuk migrasi data dan pengisian data. Dalam artikel ini, kami akan membincangkan cara menggunakan ciri migrasi dan isi Laravel untuk mengurus struktur pangkalan data anda secara fleksibel.

1. Migrasi Data
Penghijrahan data ialah alat yang digunakan untuk mengurus perubahan dalam struktur pangkalan data. Ia membolehkan anda menggunakan kod PHP untuk mentakrif dan mengubah suai elemen seperti jadual pangkalan data, lajur, indeks dan kekangan.

Dalam Laravel, pemindahan data dilakukan menggunakan alat baris arahan Artisan. Mula-mula, mari buat fail pemindahan data baharu:

php artisan make:migration create_users_table
Salin selepas log masuk

Ini akan membuat fail pemindahan baharu di bawah direktori pangkalan data/migrasi. Buka fail dan anda boleh melihat kaedah up dan kaedah down. Kaedah up digunakan untuk mentakrifkan operasi pengubahsuaian yang akan dilakukan dan kaedah down digunakan untuk membuat asal operasi ini. database/migrations目录下创建一个新的迁移文件。打开该文件,您可以看到一个up方法和一个down方法。up方法用于定义要执行的修改操作,down方法用于撤销这些操作。

例如,我们可以在up方法中创建一个名为users的表,并添加一个自增的id列和一个name列:

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->timestamps();
        });
    }
    
    public function down()
    {
        Schema::dropIfExists('users');
    }
}
Salin selepas log masuk

然后,我们可以使用以下命令来执行迁移:

php artisan migrate
Salin selepas log masuk

该命令将读取所有未应用的迁移,并依次执行它们。如果您想撤销迁移,可以使用以下命令:

php artisan migrate:rollback
Salin selepas log masuk

这样可以撤销最近的一次迁移。如果您想撤销所有迁移,可以使用以下命令:

php artisan migrate:reset
Salin selepas log masuk

二、数据填充
数据填充是用于向数据库中添加预定义数据的工具。它允许您使用PHP代码来生成和填充数据库表的数据。

在Laravel中,数据填充使用命令行工具Artisan来执行。首先,让我们创建一个新的数据填充文件:

php artisan make:seeder UsersTableSeeder
Salin selepas log masuk

这将在database/seeds目录下创建一个新的填充文件。打开该文件,您可以看到一个run方法。在该方法中,您可以使用Eloquent模型来创建和保存数据库记录。

例如,我们可以在run方法中创建一个名为users的表,并添加一些示例用户:

use IlluminateDatabaseSeeder;
use AppModelsUser;

class UsersTableSeeder extends Seeder
{
    public function run()
    {
        User::create([
            'name' => 'John Doe',
            'email' => 'john@example.com',
            'password' => bcrypt('password')
        ]);
        
        User::create([
            'name' => 'Jane Doe',
            'email' => 'jane@example.com',
            'password' => bcrypt('password')
        ]);
    }
}
Salin selepas log masuk

然后,我们可以使用以下命令来执行填充:

php artisan db:seed --class=UsersTableSeeder
Salin selepas log masuk

该命令将执行指定填充类中的run方法,并将示例用户添加到users

Sebagai contoh, kita boleh mencipta jadual bernama users dalam kaedah up dan menambah lajur id dan < code> penambahan automatik. >nama lajur:

php artisan db:seed
Salin selepas log masuk
Kemudian, kita boleh menggunakan arahan berikut untuk melaksanakan migrasi:

rrreee

Perintah ini akan membaca semua migrasi yang tidak digunakan dan melaksanakannya mengikut urutan. Jika anda ingin membuat asal migrasi, anda boleh menggunakan arahan berikut:

rrreee
Ini akan membuat asal migrasi terbaharu. Jika anda ingin membuat asal semua migrasi, anda boleh menggunakan arahan berikut:

rrreee

2. Pengisian data

Pengisian data ialah alat yang digunakan untuk menambah data yang telah ditetapkan pada pangkalan data. Ia membolehkan anda menggunakan kod PHP untuk menjana dan mengisi data untuk jadual pangkalan data. 🎜🎜Dalam Laravel, pengisian data dilakukan menggunakan alat baris arahan Artisan. Mula-mula, mari buat fail benih data baharu: 🎜rrreee🎜Ini akan mencipta fail benih baharu di bawah direktori pangkalan data/benih. Buka fail dan anda boleh melihat kaedah run. Dalam kaedah ini, anda menggunakan model Eloquent untuk mencipta dan menyimpan rekod pangkalan data. 🎜🎜Sebagai contoh, kita boleh mencipta jadual yang dipanggil users dalam kaedah run dan menambah beberapa sampel pengguna: 🎜rrreee🎜 Kemudian, kita boleh menggunakan arahan berikut untuk melaksanakan Population : 🎜rrreee🎜Arahan ini akan melaksanakan kaedah run dalam kelas populasi yang ditentukan dan menambah pengguna sampel pada jadual users. 🎜🎜Jika anda ingin mengisi data dalam kelompok, anda boleh membuat beberapa kelas pengisian dan menggunakan arahan berikut untuk melaksanakan semua pengisian: 🎜rrreee🎜Arahan ini akan melaksanakan semua pengisian mengikut susunan abjad mengikut nama fail kelas pengisian. 🎜🎜Ringkasan: 🎜Menggunakan migrasi data dan fungsi pengisian Laravel, anda boleh mengurus struktur pangkalan data dan mengisi data secara fleksibel. Penghijrahan data boleh membantu anda mengawal versi dan menjejak struktur pangkalan data, manakala populasi data boleh membantu anda menjana data demo atau data permulaan. 🎜🎜Sama ada ia mengubah struktur jadual pangkalan data dalam persekitaran pembangunan atau memulakan data dalam persekitaran pengeluaran, fungsi migrasi dan pengisian data Laravel menyediakan alat yang mudah dan berkuasa untuk mengurus dan menyelenggara pangkalan data. 🎜

Atas ialah kandungan terperinci Migrasi Data dan Populasi dengan Laravel: Mengurus Struktur Pangkalan Data Secara Fleksibel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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