Outil de migration de base de données thinkPHP : topthink/think-migration
1 : Installez topthink/think-migration
Notez ici que vous installez topthink/ You Vous devez faire attention à votre version de thinkPHP lors de la réflexion sur la 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. Choisissez la version qui vous convient pour l'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 migrate est installé avec succès
Deux : utilisez topthink /think-migration pour implémenter la migration de base de données
1 : Créer une classe de migration
Exécuter
php think migrate:create CreateUser
sur la ligne de commande Une fois l'exécution terminée, nous créerons une migration. fichier de migration
< dans le répertoire ./database/migrateions 🎜>
2 : Implémenter la migration de la base de données [1] : description du code de migration : Il existe trois méthodes dans migrate up : dans migrate : exécuté lors de l'exécution (à condition que la méthode de changement n'existe pas dans le fichier) down : exécuté lors de migrate:rollback (à condition que la méthode change n'existe pas dans le fichier) change:migrate:run et migrate :Execute lors du 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, et la méthode up place spécifiquement les opérations d'ajout et de mise à jour des tables. La méthode down place les opérations de suppression de table et de suppression de champ (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();
$this->table('user') ->addColumn('test', 'string', ['limit' => 15, 'default' => '', 'comment' => '测试'])//在user表中增加一个test字段 ->update();
$this->table('user')->drop();
$this->table('user') ->removeColumn('test')//删除user表中的test字段 ->save();
php think migrate:create CreateUser #创建一个迁移类 php think migrate:run #执行迁移 php think migrate:rollback #迁移回滚
TP5》
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!