Cet article partagera avec vous les connaissances pertinentes sur Phinx, l'outil de migration de bases de données dans le traitement PHPPhinx est particulièrement adapté au développement, aux tests, aux informations de champ de synchronisation de bases de données en ligne, aux informations sur les données, à la génération et à la synchronisation de données de test, etc. J'espère que cela sera utile à tout le monde.
Adresse du document : https://tsy12321.gitbooks.io/phinx-doc/content
1 Installer
composer require nhzex/think-phinx
2. exécutez php supplier/ directement bin/phinx init peut générer le fichier de configuration
Une autre méthode consiste à utiliser directement le fichier php pour créer le fichier de configurationExécutez directement php supplier/bin/phinx init pour générer le fichier de configurationUne autre méthode consiste à utiliser directement le php pour créer le fichier de configuration 3. Utilisez phinx.php pour configurerphp vendor/bin/phinx
5. php supplier/bin/phinx create migration
6. Créé /db/migrations/20180310020523_migration.php est maintenant généré
Modifiez ce fichier et ajoutez le contenu de création de base de données.
<?php $config = array( 'DB_HOST' => 'localhost', 'DB_NAME' => 'root', 'DB_USER' => 'root', 'DB_PWD' => '', ); $settings = $config; #phinx.php <?php require 'db_config.php'; return array( "paths" => array( "migrations" => "db/migrations", "seeds" => "db/seeds" ), "environments" => array( "defaut_migration_table" => "phinxlog", "default_database" => "lleg", "default_environment" => "development" "production" => array( "adapter" => "mysql", "host" => $settings["DB_HOST"], "name" => $settings["DB_NAME"], "user" => $settings["DB_USER"], "pass" => $settings["DB_PWD"], "port" => 3306, "charset" => "utf8" ), "development" => array( "adapter" => "mysql", "host" => $settings["DB_HOST"], "name" => $settings["DB_NAME"], "user" => $settings["DB_USER"], "pass" => $settings["DB_PWD"], "port" => 3306, "charset" => "utf8" ) ) );
Exécuter php supplier/bin/phinx migrate
8 Initialiser les donnéesExécuter php supplier/bin/phinx seed:create CategorySeeder
. Le système crée automatiquement ./db/seeds/CategorySeeder.php 9. Modify CategorySeeder.phpExécutez php supplier/bin/phinx seed:run et toutes les graines seront exécutées
10. Si vous souhaitez exécuter la graine spécifiée, vous devez la spécifier avec le paramètre -sphp seller/bin/phinx seed:run -s CategorySeeder
11 Mettre à jour la structure de la tableQuand. vous devez mettre à jour la structure de la table, vous devez créer une autre migration
Exécuter php supplier/bin/phinx créer ChangeArtist Ensuite, écrivez le contenu qui doit être mis à jour dans la fonction de changementpublic function change() { $user = $this->table('user'); $user->addColumn('open_id', 'string', ['limit'=>64]); $user->addColumn('register_time', 'timestamp', ['default' => 'CURRENT_TIMESTAMP']); $user->addColumn('favorite_music', 'integer', ['default'=> 0, 'comment'=>'喜欢的音乐']); $user->addColumn('favorite_vedio', 'integer', ['default'=> 0, 'comment'=>'喜欢的视频数']); $user->addColumn('favorite_article', 'integer', ['default'=> 0, 'comment'=>'喜欢的文章数']); $user->addColumn('baby_birthday', 'date', ['null'=>true, 'comment'=>'宝宝生日']); $user->addColumn('baby_sex', 'boolean', ['null'=>true, 'comment'=>'宝宝性别']); $user->addColumn('last_login', 'datetime', ['null'=>true, 'comment'=>'最后登陆日期']); $user->save(); }
public function change() {
$this->execute('alter table resource drop column artist ;');
$resource = $this->table('resource');
$resource->addColumn('artist', 'string', ['limit'=>128, 'default'=>'']);
$resource->update();
}
php vendor/bin/phinx rollback
php vendor/bin/phinx seed:create UserSeeder php vendor/bin/phinx seed:run -e product
Tutoriel vidéo PHP
"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!