数据库迁移工具

首先通过 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

使用实例

<?phpuse 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/


 小秋同学  Composer包  2021-03-25 08:44:46    收藏:  赞(933)
源码网-一个不错的学习网站
本文地址:https://www.yuanma.cc/article/composerbao/1701.html 复制链接 如果还有疑问,欢迎加入我们的QQ交流群:887790 加入Q群 易优最新程序下载: 点击下载
QQ在线咨询