
文档地址: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")));
php vendor/bin/phinx status 查看连接状态
php vendor/bin/phinx create Migrationcreated db/migrations/20180310020523_migration.phppublic 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();}
php vendor/bin/phinx migrate8.初始化数据
php vendor/bin/phinx seed:create CategorySeeder系统自动创建 created ./db/seeds/CategorySeeder.php
php vendor/bin/phinx seed:run将会进行所有Seed
- s参数指定
php vendor/bin/phinx seed:run -s CategorySeeder11.更新表结构
执行
php vendor/bin/phinx create ChangeArtist再将需要更新的内容写到
change函数
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 migrate
之前的已经执行过的migrate不会执行, 只会执行更新的部分。
12.回滚
php vendor/bin/phinx rollback
13.数据填充
php vendor/bin/phinx seed:create UserSeederphp vendor/bin/phinx seed:run -e product
生成文件
<?phpuse Phinx\Seed\AbstractSeed;class UserSeeder extends AbstractSeed {/*** 插入数据*/public function run() {$data = array(array('id' => 1,),array('id' => 2,));$posts = $this->table('users');$posts->insert($data)->save();}}
看完本文有收获?点赞、分享是最大的支持!

文章转载自Laravel技术社区,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




