ThinkPHP 数据迁移使用

ThinkPHP数据库迁移工具可以将数据库结构和数据很容易的在不同的数据库之间管理迁移,使用起来也很方便。

composer require topthink/think-migration  //如果是 TP5 可能出现错误要安装 1.0版本
#composer require topthink/think-migration=1.0.* 
//执行命令,创建一个操作文件,一定要用大驼峰写法,如下
php think migrate:create AnyClassNameYouWant

执行后就会在项目根目录多一个database目录自动创建一个文件,就可以在里面添加你想要的操作了

可以使用 php think ,查看相关的命令,命令如下

ThinkPHP 数据迁移使用

php think migrate:create 创建迁移文件

php think migrate:run 运行迁移文件

php think migrate:rollback 回滚

php think migrate:status 查看迁移状态

迁移文件示例

<?php

use think\migration\Migrator;
use think\migration\db\Column;
 
class  AnyClassNameYouWant extends  Migrator
{
    /**
    * Change Method.
    *
    * Write your reversible migrations using this method.
    *
    * More information on writing migrations is available here:
    * http://docs.phinx.org/en/latest/migrations.html#the-abstractmigration-class
    *
    * The following commands can be used in this method and Phinx will
    * automatically reverse them when rolling back:
    *
    * createTable
    * renameTable
    * addColumn
    * renameColumn
    * addIndex
    * addForeignKey
    *
    * Remember to call "create()" or "update()" and NOT "save()" when working
    * with the Table class.
    */
    
    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();
    }

}

字段相关设置可以参考下面

如果你想设置int 类型可以这样写
->addColumn('a', 'integer', ['limit' => '10','default' => 0,'signed'=>false,'comment'=>''])

如果你想设置bigint 类型可以这样写
->addColumn('g', 'biginteger', ['limit' => '10','default' => 0,'signed'=>false,'comment'=>'备注'])

如果你想设置tinyint类型可以这样写
->addColumn('h', 'integer', ['limit' => '255','default' => 0,'signed'=>false,'comment'=>''])

如果你想设置decimal类型可以这样写
->addColumn('j', 'decimal', ['precision'=>4,'scale'=>'2','default' => '0.00','comment'=>''])

如果你想设置set类型可以这样写
->addColumn('i', 'set', ['values' => ['1','2'],'default'=>'1','comment'=>''])

如果你想设置text类型可以这样写
->addColumn('k', 'text', ['default' => '','comment'=>''])

如果你想设置longtext类型可以这样写
->addColumn('l', 'text', ['limit' => '4294967295','default' => '','comment'=>''])

设置唯一索引 unique
->addIndex('order_id', array('unique' => true))

原创文章,作者:admin,如若转载,请注明出处:https://ntib.cn/320.html

(0)
adminadmin
上一篇 2023年11月22日 下午11:09
下一篇 2023年12月5日 下午2:31

相关推荐

  • Mac虚拟机Parallels Desktop

    深圳企业网站建设Parallels Desktop 18(PD18)是一种在Mac上同时运行macOS和Windows的虚拟机,支持Intel和M芯片,并在Mac和Windows之间无缝复制和粘贴…

    2024年3月16日
  • 宝塔面板一键迁移网站及数据库

    深圳企业网站建设两个服务器间迁移数据太麻烦了,宝塔面板中有宝塔一键迁移插件安装上,注意是在要迁出数据的服务器上安装,安装完成后,在一键迁移插件设置中输入 新服务器的面板地址及面板API密钥。按照提…

    2023年11月18日
  • 2024年还能不能通过买卖域名建站赚钱

    深圳企业网站建设现在手机端用户越来越多,域名和网站的使用量逐渐的降低,好像域名都没那么重要了,那么现在还能不能通过买卖域名建站赚钱呢,好像也可以,但应该不会像最初那么容易了。 一方面通过电脑查信息…

    2023年11月22日
  • 麒麟Kylin V10 安装mysql5.7

    深圳企业网站建设注意,如果有数据记得先备份 安装 设置启动项 首次登录修改密码,图中箭头指的为默认密码 恢复数据

    2024年6月5日
  • 迅时网关默认IP及用户名

    深圳企业网站建设MX120G是迅时推出的大容量、高性能、高可靠的语音接入网关,支持完备的办公电话功能,提供灵活多样的接入手段。MX120G具有极高的性价比,特别适用于大型呼叫中心和高端IP语音集成…

    2018年11月18日
  • Mac系统下PhpStorm试用版下载地址

    深圳企业网站建设PhpStorm 是 JetBrains 公司开发的一款商业的PHP集成开发工具,旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。 Mac系统,…

    2024年3月16日
  • FreeSWITCH 突然不能拨打电话问题

    深圳企业网站建设公司呼叫系统,在正常使用中突然大面积出现呼叫失败,马上登录服务器查看呼叫日志,出现下图所示的 (NATIVE SQL ERR [database or disk is full])…

    2018年11月18日
  • wordpress 绑定多个域名方法

    深圳企业网站建设WordPress在安装的时候会默认绑定当前的域名,如安装时域名为 a.com,在访问www.a.com时,会自动跳到a.com,绑定其它域名时也会跳转,给大家分享一下WordPr…

    记事本 2023年11月18日
  • CentOS shell 检测服务状态

    深圳企业网站建设CentOS shell 检测服务状态,可以在停止的时候自动启动,用于服务器的进程守护 如果只在没有允许时启动服务可以使用下面的代码

    记事本 2024年1月6日
  • CentOS 相关安全设置

    深圳企业网站建设1、centos 修改密码强度策略修改 /etc/pam.d/system-auth 在 password requisite pam_pwquality.so 中添加minlen…

    记事本 2023年12月13日

发表回复

登录后才能评论
WeChat