Maison >cadre php >PensezPHP >Comment thinkPHP utilise migrate pour implémenter la migration de bases de données

Comment thinkPHP utilise migrate pour implémenter la migration de bases de données

藏色散人
藏色散人avant
2020-07-29 13:41:454137parcourir

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 !

Comment thinkPHP utilise migrate pour implémenter la migration de bases de données

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

Comment thinkPHP utilise migrate pour implémenter la migration de bases de données

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

Comment thinkPHP utilise migrate pour implémenter la migration de bases de données

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer