Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan fungsi migrasi pangkalan data (Migrasi) dalam rangka kerja Yii

Cara menggunakan fungsi migrasi pangkalan data (Migrasi) dalam rangka kerja Yii

WBOY
WBOYasal
2023-07-28 21:57:201513semak imbas

Cara menggunakan fungsi migrasi pangkalan data (Migrasi) dalam rangka kerja Yii

Pengenalan:
Penghijrahan pangkalan data ialah alat yang sangat penting semasa membangun dan menyelenggara aplikasi web. Penghijrahan pangkalan data boleh membantu kami mengurus perubahan pada skema pangkalan data, membolehkan kami membuat, mengubah suai dan memadam jadual dengan mudah, serta menambah, memadam dan mengubah suai lajur. Artikel ini akan memperkenalkan cara menggunakan fungsi pemindahan pangkalan data (Migrasi) dalam rangka kerja Yii.

1. Konfigurasikan maklumat pangkalan data
Sebelum menggunakan migrasi pangkalan data, kita perlu mengkonfigurasi maklumat pangkalan data terlebih dahulu. Buka fail db.php dalam direktori config dalam rangka kerja Yii, dan ubah suai kod berkaitan berikut mengikut konfigurasi pangkalan data anda sendiri: config目录下的db.php文件,根据自己的数据库配置修改以下相关代码:

return [
    // ...
    'components' => [
        // ...
        'db' => [
            'class' => 'yiidbConnection',
            'dsn' => 'mysql:host=localhost;dbname=mydatabase',
            'username' => 'root',
            'password' => '',
            'charset' => 'utf8',
        ],
    ],
];

二、创建迁移文件
在Yii框架中,每个数据库迁移都可以是一个独立的PHP类。我们可以通过Yii的命令行工具来创建新的迁移文件。打开命令行终端,进入Yii项目的根目录,并执行以下命令:

./yii migrate/create create_table_user

上述命令将创建一个名为m210101_000000_create_table_user的迁移文件。该文件将位于consolemigrations目录下。

三、编写迁移代码
打开刚刚创建的迁移文件,我们可以看到其包含了两个函数:up()down()

use yiidbMigration;

class m210101_000000_create_table_user extends Migration
{
    public function up()
    {
        $this->createTable('user', [
            'id' => $this->primaryKey(),
            'username' => $this->string()->notNull(),
            'email' => $this->string()->notNull(),
            'password' => $this->string()->notNull(),
            'created_at' => $this->dateTime()->notNull(),
            'updated_at' => $this->dateTime()->notNull(),
        ]);
    }

    public function down()
    {
        $this->dropTable('user');
    }
}

up()函数中,我们使用createTable()方法创建了一个名为user的表,并定义了其各个字段和数据类型。

down()函数中,我们使用dropTable()方法删除了之前创建的user表。

四、执行迁移操作
在编写完迁移代码后,我们需要执行迁移操作,将我们的数据库架构变更应用到实际的数据库中。在命令行终端中执行以下命令:

./yii migrate

上述命令将会执行所有未执行过的迁移文件,并将数据库架构变更应用到实际的数据库中。

除了执行所有未执行的迁移之外,我们还可以执行以下命令来执行一些其他特定的迁移操作:

  • ./yii migrate/new:显示所有未执行的迁移文件;
  • ./yii migrate/redo:重做最后一个迁移操作;
  • ./yii migrate/down:回滚最后一个迁移操作;
  • ./yii migrate/createrrreee
  • 2. Buat migrasi fail
Dalam rangka kerja Yii , setiap pemindahan pangkalan data boleh menjadi kelas PHP bebas. Kita boleh mencipta fail migrasi baharu melalui alat baris arahan Yii. Buka terminal baris arahan, masukkan direktori akar projek Yii dan laksanakan arahan berikut:

rrreee
Arahan di atas akan mencipta fail migrasi bernama m210101_000000_create_table_user. Fail ini akan terletak dalam direktori consolemigations.

🎜3 Tulis kod migrasi🎜Buka fail migrasi yang baru dibuat, kita dapat melihat bahawa ia mengandungi dua fungsi: up() dan down(). 🎜rrreee🎜Dalam fungsi up(), kami menggunakan kaedah createTable() untuk mencipta jadual bernama user dan mentakrifkan medan individunya dan jenis data. 🎜🎜Dalam fungsi down(), kami menggunakan kaedah dropTable() untuk memadamkan jadual user yang dibuat sebelum ini. 🎜🎜4. Lakukan operasi migrasi🎜Selepas menulis kod migrasi, kami perlu melakukan operasi migrasi untuk menggunakan perubahan skema pangkalan data kami pada pangkalan data sebenar. Jalankan arahan berikut dalam terminal baris arahan: 🎜rrreee🎜Arahan di atas akan melaksanakan semua fail migrasi yang tidak dilaksanakan dan menggunakan perubahan skema pangkalan data pada pangkalan data sebenar. 🎜🎜Selain melaksanakan semua migrasi tertunggak, kami juga boleh melaksanakan perintah berikut untuk melaksanakan beberapa operasi migrasi khusus lain: 🎜
  • ./yii migrate/new: tunjukkan semua Unexecuted migration fail; 🎜
  • ./yii migrasi/buat semula: buat semula operasi migrasi terakhir; ; 🎜
  • ./yii migrate/create: Buat fail migrasi baharu. 🎜🎜🎜Ringkasan: 🎜Artikel ini memperkenalkan langkah asas untuk menggunakan fungsi pemindahan pangkalan data dalam rangka kerja Yii. Kami mula-mula mengkonfigurasi maklumat pangkalan data, kemudian mencipta fail migrasi dan menulis kod migrasi yang sepadan. Akhirnya, kami melakukan migrasi menggunakan alat baris arahan Yii. Dengan menggunakan ciri migrasi pangkalan data, kami boleh mengurus dan menjejaki perubahan skema pangkalan data dengan mudah. Ini adalah alat yang sangat mudah dan praktikal untuk pembangunan dan penyelenggaraan aplikasi web kami. 🎜

Atas ialah kandungan terperinci Cara menggunakan fungsi migrasi pangkalan data (Migrasi) dalam rangka kerja Yii. 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