La colonne de didacticiel suivante du framework thinkphp vous présentera comment thinkPHP utilise migrate pour implémenter la migration de bases de données. J'espère qu'elle sera utile aux amis dans le besoin !
thinkPHP utilise migrate pour mettre en œuvre la migration de bases de données
l'outil de migration de bases de données de thinkPHP : topthink/think-migration
1 : Installez topthink/think-migration
Notez ici que vous devez faire attention à votre version de thinkPHP lors de l'installation de topthink/think-migration. Ma version de thinkPHP ici est 5.1, vous pouvez donc installer la version 2.0 de topthink/. think-migration. , la version 3.0 ne peut pas être installée, sélectionnez la version qui vous convient pour installer
composer require topthink/think-migration=2.0.*
Une fois l'installation terminée, exécutez sur la ligne de commande :
php think
Ce qui suit indique que le l'installation de la migration est réussie
Deux : utilisez topthink/think-migration pour implémenter la migration de la base de données
1 : créez une classe de migration
Exécuter sur la ligne de commande
php think migrate:create CreateUser
Une fois l'exécution terminée, nous allons créer un fichier de migration migrate dans le répertoire ./database/migrateions
2 : Implémenter migration de base de données
Documentation sur l'utilisation de la méthode de migration : http://docs.org/en/latest/migrations.html
[1] : Description du code de migration :
Il existe trois méthodes dans migrate
up : when migrate:run Execute (à condition que la méthode de changement n'existe pas dans le fichier)
down : Execute when migrate:rollback (à condition que le changement la méthode n'existe pas dans le fichier)
change:migrate:run et migrate:rollback (Si cette méthode existe, up et down ne seront pas exécutés)
Généralement, je supprime la méthode change dans le fichier migrate. La méthode up est spécifiquement utilisée pour ajouter et mettre à jour des tables, et la méthode down Placer les opérations de suppression de table et de champ de suppression
(1) Ajouter une table :
// create the table $table = $this->table('user', ['id' => 'user_id', 'comment' => '用户表', 'engine' => 'MyISAM', '']); $table->addColumn('user_name', 'string', ['limit' => 15, 'default' => '', 'comment' => '用户名']) ->addColumn('password', 'string', ['limit' => 15, 'default' => '', 'comment' => '密码',]) ->addColumn('status', 'boolean', ['limit' => 1, 'default' => 0, 'comment' => '状态']) ->addIndex(['user_name'], ['unique' => true])//为user_name创建索引并设置唯一(唯一索引) ->addTimestamps()//默认生成create_time和update_time两个字段 ->create();
(2) Mettre à jour la table :
$this->table('user') ->addColumn('test', 'string', ['limit' => 15, 'default' => '', 'comment' => '测试'])//在user表中增加一个test字段 ->update();
(3) Supprimer la table :
$this->table('user')->drop();
(4) Supprimer le champ
$this->table('user') ->removeColumn('test')//删除user表中的test字段 ->save();
[2] : commande de migration :
Il existe trois commandes couramment utilisées pour migrer, à savoir :
php think migrate:create CreateUser #创建一个迁移类 php think migrate:run #执行迁移 php think migrate:rollback #迁移回滚
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!