站长图库向大家介绍了PHP数据库迁移工具,数据库迁移工具Phinx等相关知识,希望对您有所帮助
本篇文章给大家分享关于PHP处理中数据库迁移工具Phinx的相关知识,phinx特别适合在开发、测试、线上数据库同步字段信息、数据信息、生成和同步测试数据等,希望对大家有帮助。

文档地址:https://tsy12321.gitbooks.io/phinx-doc/content
1.安装
composer require nhzex/think-phinx
2.执行
php vendor/bin/phinx
直接运行 php vendor/bin/phinx init 可生成配置文件
另外一种方法是直接使用php文件做配置文件
直接运行 php vendor/bin/phinx init 可生成配置文件
另外一种方法是直接使用php文件做配置文件
3.使用phinx.php进行配置
<?php$config = array( 'DB_HOST' => 'localhost', 'DB_NAME' => 'root', 'DB_USER' => 'root', 'DB_PWD' => '',);$settings = $config;#phinx.php<?phprequire '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" ) ));
4.执行 php vendor/bin/phinx status 查看连接状态
5.执行 php vendor/bin/phinx create migration
6.现在生成了created /db/migrations/20180310020523_migration.php
编辑这个文件,添加数据库创建内容.
public 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();}7.默认会添加一个自增id,作为主键
执行
php vendor/bin/phinx migrate
8.初始化数据
执行
php vendor/bin/phinx seed:create CategorySeeder
系统自动创建 created ./db/seeds/CategorySeeder.php
9.修改 CategorySeeder.php
执行 php vendor/bin/phinx seed:run 将会进行所有Seed
10.如果想运行指定的Seed需要用- s参数指定
php vendor/bin/phinx seed:run -s CategorySeeder
11.更新表结构
当需要更新表结构的时候,需要再创建一个migrate
执行
php vendor/bin/phinx create ChangeArtist
再将需要更新的内容写到change函数
public function change() { $this->exe

