Maison > cadre php > PensezPHP > thinkPHP utilise migrate pour migrer la base de données

thinkPHP utilise migrate pour migrer la base de données

Libérer: 2020-05-27 09:08:28
avant
4113 Les gens l'ont consulté

thinkPHP utilise migrate pour migrer la base de données

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.*
Copier après la connexion

Une fois l'installation terminée, exécutez sur la ligne de commande :

php think
Copier après la connexion

Ce qui suit indique que migrate est installé avec succès

thinkPHP utilise migrate pour migrer la base de données

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
Copier après la connexion

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 🎜>thinkPHP utilise migrate pour migrer la base de données

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(&#39;user&#39;, [&#39;id&#39; => &#39;user_id&#39;, &#39;comment&#39; => &#39;用户表&#39;, &#39;engine&#39; => &#39;MyISAM&#39;, &#39;&#39;]);
$table->addColumn(&#39;user_name&#39;, &#39;string&#39;, [&#39;limit&#39; => 15, &#39;default&#39; => &#39;&#39;, &#39;comment&#39; => &#39;用户名&#39;])
    ->addColumn(&#39;password&#39;, &#39;string&#39;, [&#39;limit&#39; => 15, &#39;default&#39; => &#39;&#39;, &#39;comment&#39; => &#39;密码&#39;,])
    ->addColumn(&#39;status&#39;, &#39;boolean&#39;, [&#39;limit&#39; => 1, &#39;default&#39; => 0, &#39;comment&#39; => &#39;状态&#39;])
    ->addIndex([&#39;user_name&#39;], [&#39;unique&#39; => true])//为user_name创建索引并设置唯一(唯一索引)
    ->addTimestamps()//默认生成create_time和update_time两个字段
    ->create();
Copier après la connexion

(2) Mettre à jour la table :

$this->table(&#39;user&#39;)
    ->addColumn(&#39;test&#39;, &#39;string&#39;, [&#39;limit&#39; => 15, &#39;default&#39; => &#39;&#39;, &#39;comment&#39; => &#39;测试&#39;])//在user表中增加一个test字段
    ->update();
Copier après la connexion

(3) Supprimer la table :

$this->table(&#39;user&#39;)->drop();
Copier après la connexion

(4) Supprimer le champ

$this->table(&#39;user&#39;)
    ->removeColumn(&#39;test&#39;)//删除user表中的test字段
    ->save();
Copier après la connexion

[2] : commande migrate :

Il existe trois commandes couramment utilisées pour migrer, à savoir :

php think migrate:create CreateUser  #创建一个迁移类
php think migrate:run  #执行迁移
php think migrate:rollback #迁移回滚
Copier après la connexion
Tutoriel recommandé : 《

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!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal