Maison >développement back-end >tutoriel php >Comment utiliser la fonction de migration de base de données (Migration) dans le framework Yii
Comment utiliser la fonction de migration de base de données (Migration) dans le framework Yii
Introduction :
La migration de base de données est un outil très important lors du développement et de la maintenance d'une application Web. La migration de base de données peut nous aider à gérer les modifications apportées au schéma de base de données, nous permettant de créer, modifier et supprimer facilement des tables, ainsi que d'ajouter, supprimer et modifier des colonnes. Cet article explique comment utiliser la fonction de migration de base de données (Migration) dans le framework Yii.
1. Configurer les informations de la base de données
Avant d'utiliser la migration de la base de données, nous devons d'abord configurer les informations de la base de données. Ouvrez le fichier db.php
dans le répertoire config
du framework Yii, et modifiez les codes pertinents suivants en fonction de votre propre configuration de base de données : 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/create
rrreeerrreee
La commande ci-dessus créera un fichier de migration nommé m210101_000000_create_table_user
. Ce fichier sera situé dans le répertoire consolemigrations
.
up()
et down()
. 🎜rrreee🎜Dans la fonction up()
, nous utilisons la méthode createTable()
pour créer une table nommée user
et définir ses champs individuels et types de données. 🎜🎜Dans la fonction down()
, nous utilisons la méthode dropTable()
pour supprimer la table user
précédemment créée. 🎜🎜4. Effectuer l'opération de migration🎜Après avoir écrit le code de migration, nous devons effectuer l'opération de migration pour appliquer les modifications de notre schéma de base de données à la base de données réelle. Exécutez la commande suivante dans le terminal de ligne de commande : 🎜rrreee🎜La commande ci-dessus exécutera tous les fichiers de migration non exécutés et appliquera les modifications du schéma de base de données à la base de données réelle. 🎜🎜En plus d'exécuter toutes les migrations en cours, nous pouvons également exécuter la commande suivante pour effectuer d'autres opérations de migration spécifiques : 🎜./yii migrate/new
: afficher toutes les migrations non exécutées file; 🎜./yii migrate/redo
: refaire la dernière opération de migration ; 🎜./yii migrate/down
: return Roll la dernière opération de migration ; ; 🎜./yii migrate/create
: Créez un nouveau fichier de migration. 🎜🎜🎜Résumé : 🎜Cet article présente les étapes de base pour utiliser la fonction de migration de base de données dans le framework Yii. Nous avons d'abord configuré les informations de la base de données, puis créé un fichier de migration et écrit le code de migration correspondant. Enfin, nous avons effectué la migration à l'aide des outils de ligne de commande de Yii. En utilisant la fonctionnalité de migration de base de données, nous pouvons facilement gérer et suivre les modifications du schéma de base de données. Il s'agit d'un outil très pratique et pratique pour le développement et la maintenance de nos applications Web. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!