Maison > cadre php > PensezPHP > le corps du texte

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

藏色散人
Libérer: 2020-07-29 13:41:45
avant
4074 Les gens l'ont consulté

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

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

(2) Mettre à jour la table :

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

(3) Supprimer la table :

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

(4) Supprimer le champ

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

[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 #迁移回滚
Copier après la connexion

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!