PHP迁移数据库,数据库迁移工具

## 数据库迁移工具

首先通过 composer 安装

~~~

composer require topthink/think-migration

~~~

注意事项,不支持修改文件配置目录

***

在命令行下运行查看帮助,可以看到新增的命令

~~~

php think

~~~

~~~

migrate

migrate:create Create a new migration

migrate:rollback Rollback the last or to a specific migration

migrate:run Migrate the database

migrate:status Show migration status

optimize

optimize:autoload Optimizes PSR0 and PSR4 packages to be loaded wit

h classmaps too, good for production.

optimize:config Build config and common file cache.

optimize:route Build route cache.

optimize:schema Build database schema cache.

seed

seed:create Create a new database seeder

seed:run Run database seeders

~~~

创建迁移类,首字母必须为大写

~~~

php think migrate:create Users

~~~

可以看到目录下有新文件 .\database\migrations\20161117144043_users.php

#### 使用实例

~~~

use Phinx\Migration\AbstractMigration;

class Users extends AbstractMigration

{

/**

* Change Method.

*/

public function change()

{

// create the table

$table = $this->table('users',array('engine'=>'MyISAM'));

$table->addColumn('username', 'string',array('limit' => 15,'default'=>'','comment'=>'用户名,登陆使用'))

->addColumn('password', 'string',array('limit' => 32,'default'=>md5('123456'),'comment'=>'用户密码'))

->addColumn('login_status', 'boolean',array('limit' => 1,'default'=>0,'comment'=>'登陆状态'))

->addColumn('login_code', 'string',array('limit' => 32,'default'=>0,'comment'=>'排他性登陆标识'))

->addColumn('last_login_ip', 'integer',array('limit' => 11,'default'=>0,'comment'=>'最后登录IP'))

->addColumn('last_login_time', 'datetime',array('default'=>0,'comment'=>'最后登录时间'))

->addColumn('is_delete', 'boolean',array('limit' => 1,'default'=>0,'comment'=>'删除状态,1已删除'))

->addIndex(array('username'), array('unique' => true))

->create();

}

/**

* Migrate Up.

*/

public function up()

{

}

/**

* Migrate Down.

*/

public function down()

{

}

}

~~~

对于同一个数据表,如果需要新的迁移动作,例如删除字段、创建字段,可以创建新的更改文件,像svn一样往前记录操作,方便回滚。

更具体的使用可查看

http://docs.phinx.org/en/latest/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值