`
xieye
  • 浏览: 804875 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

php迁移工具phinx使用

    博客分类:
  • PHP
阅读更多
咱不用laravel那个,保持composer各组件独立性。
官网:https://phinx.org/

composer安装
"robmorgan/phinx":"0.8.1" 


我的项目叫t3,下面有一个public,这个public是web根目录。
现在,我在t3下建立一个db目录,与public同级。与vendor同级。
db下再建两个目录,migrations和seeds。
cmd下。
进入t3目录
执行命令。
vendor\bin\phinx.bat init


此时有提示,发现t3目录下多了phinx.xml文件。这就是配置文件

立刻修改这个文件,注意他的default_database字段,修改那里的内容即可(默认有3个环境)
例如:
包括主机名,用户,密码,库名,文字编码等。


现在开始生成文件,假设我想建表
test2,字段name,pass,create_time。

执行命令
vendor\bin\phinx.bat create Test2


这时发现migrations下多了一个文件

修改文件内容
<?php

use Phinx\Migration\AbstractMigration;

use Phinx\Db\Adapter\MysqlAdapter;

class Test2 extends AbstractMigration
{
    
    public function change()
    {
        $table = $this->table('test2');
        $table
          ->addColumn("user",'string' , [
              'limit' => 50,
              'null' => false,
              'default' => '',
              'comment' => '用户名称',
          ])
          ->addColumn('create_time', 'integer',[
              'null' => false,
              'default' => 0,
              'comment' =>'创建时间' ,
          ])
          ->addColumn('is_del', 'integer',array(
              'limit' => MysqlAdapter::INT_TINY,
              'null' => false,
              'default' =>0,
              'comment' =>'是否删除' ,
              
          ))
          ->addIndex(['user']) //给user字段加索引。
          ->create();

    }
}


现在执行命令

vendor\bin\phinx.bat migrate -e development
或者使用默认环境,参见配置文件
vendor\bin\phinx.bat migrate 


也可以再执行一遍,不会有问题。

查库,发现表已建好。

用命令可查看状态,(哪些脚本被执行了。)
vendor\bin\phinx.bat status

现在我想回滚了。(默认只回滚一个文件)
vendor\bin\phinx.bat rollback

发现表删除了。好神奇!!

最后,用命令建立迁移任务文件时,类名不能重名,
不能再执行
vendor\bin\phinx.bat create Test2,因为该类已存在。

还有,回滚的函数是依据这几个函数来的
     *    createTable
     *    renameTable
     *    addColumn
     *    renameColumn
     *    addIndex
     *    addForeignKey


还有,表回滚了,里面的数据也丢失了,切记。
分享到:
评论

相关推荐

    phinx:面向所有人PHP数据库迁移

    产品特点使用与数据库无关PHP代码编写数据库迁移。 上下迁移。 迁移部署。 创建数据库后播种数据。 不到5分钟即可开始。 不必再担心数据库的状态。 利用SCM功能(例如分支)。 与任何应用程序集成。支持的适配器...

    Phinx一个数据库迁移管理库

    Phinx:一个数据库迁移管理库

    面向所有人PHP数据库迁移-PHP开发

    Phinx:简单PHP数据库迁移简介Phinx使管理PHP应用程序的数据库迁移变得异常容易。 在不到5分钟的时间内,您可以安装Phinx并创建您的第一个数据库migr Phinx:简单PHP数据库迁移Intro Phinx使管理PHP应用程序的数据库...

    redis在线迁移工具

    redis-migrate-tool-master, redis-full-check 工具促使redis不停机在线迁移方案,完整的步骤配置详情。

    phinx-migrations-generator:用于Phinx的迁移代码生成器

    Phinx迁移生成器通过将当前数据库与架构信息进行比较来生成迁移。要求PHP 7.2+或8.0+产品特点独立于框架DBMS:MySQL 5.7 +,MySQL 8,MariaDB(部分受支持) 初始模式模式差异数据库:字符集,排序规则表格:创建,...

    tp5 数据库迁移工具包

    tp开发手册的下载数据库迁移命令有问题,无法数据迁移报错PHP Fatal error: Class 'think\facade\Env' not found 把我这个包放在vendor\topthink下,就可以直接使用数据库迁移工具

    dbup:php简单的迁移工具

    dbup,一个简单的 PHP 迁移工具 dbup 是一个简单的 PHP 迁移工具。 您只需下载 。 dbup 只有up命令。 dbup 没有down命令。 Dbup 只使用一个普通的旧 sql,因此您不必学习 ORM 或 DSL。 你写SQL文件并调用up命令...

    PHP IMAP Migration Tool:这是IMAP迁移工具的更新版本-开源

    这是IMAP迁移工具的更新版本,因为粘贴9年内没有更新,并且代码的某些部分被卡住了。 这是该优秀脚本的更新版本,其中包含我发现的所有错误修正,请随时提出任何改进建议!

    PHP100教程(PHP环境搭配和工具的使用)

    PHP环境搭配和工具的使用 PHP100教程(PHP环境搭配和工具的使用)

    PHP数据库迁移的PHP管理库.zip

    数据库迁移(又称分级存储管理,hierarchical storage management,hsm)是一种将离线存储与在线存储融合的技术。它将高速、高容量的非在线存储设备作为磁盘设备的下一级设备,然后将磁盘中常用的 数据按指定的策略...

    隆隆声:dynamoDBPHP迁移工具

    隆隆适用于AWS dynamoDB的php迁移工具。要求要使用rumble进行迁移和播种,您应该在本地安装aws dymanodb,或者在特定的aws区域中具有用于远程版本的有效aws凭证。揭露与其他迁移工具相比, rumble还远远不够完整。 ...

    robo-phinx:Phinx与Robo任务运行器集成

    将Phinx工具与任务运行器集成。 目录 安装 在您的composer.json文件中添加"robertboloc/robo-phinx": "^1.2" 。 { " require " : { " robertboloc/robo-phinx " : " ^1.2 " } } 执行composer update 用法 ...

    php程序员工具箱v1.0php集成环境中文安装免费版

    php程序员工具箱是迄今为止全网唯一款php程序员的专属工具箱,集合了php环境搭建、在线小工具、原生手册、文字与视频教程、问答社区等,可以更好的帮助和服务广大php初学者,需要此款工具的朋友们欢迎前来下载使用。...

    phpmig, php简单迁移系统.zip

    phpmig, php简单迁移系统 Phpmig 是什么?Phpmig是PHP的( 数据库) 迁移工具,它应该适合大多数 PHP 5.3 项目的使用。 它类似于 Doctrine 迁移( ),没有 Doctrine 。 如果你愿意,可以使用 Doctrine 。

    人工智能-项目实践-即时聊天-使用PHP+Swoole实现的网页即时聊天工具

    人工智能-项目实践-即时聊天-使用PHP+Swoole实现的网页即时聊天工具 使用PHP+Swoole4实现的网页即时聊天工具,在线体验地址:http://webim.swoole.com/ 基于Swoole4协程实现,可以同时支持数百万TCP连接在线 基于...

    svn2git.php:Subversion to Git 迁移工具

    svn2git Subversion 到 Git 迁移工具。 使用 git-svn 将包含所有标签的 Subversion 存储库克隆到 Git。 (可选)将所有内容推送到远程存储库。 目录入门重要提示:自 2.1.0 版以来, svn2git migrate不再svn2git ...

    PHP连接串口程序php_ser

    php实现RS232串口通信 下载php_ser_5.2.0.zip 解冻把php_ser放到ext目录下, php.ini里加上: extension=php_ser.dll PHP code string ser_version( void ) void ser_open( string port, int baudrate, int databits, ...

    PHP 5.3 OPCODE工具(用于zend 加密php 5.3分析,逆向)

    php opcode的反解,用于分析PHP ,逆向PHP 加密,由OPCODE转换PHP代码. WINDOWS 版本的使用: 开始,运行,CMD 进入PHP所在目录,执行: Php.exe –c php.ini 111.php ...用这个工具,可以用来分析:Zend 加密的 PHP5.3程序.

    api manager, php接口管理工具,php api manager工具,php api工具

    php接口管理工具,API MANAGER 接口管理工具,php接口管理工具,API MANAGER 接口管理工具

    Php本地测试工具

    该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等。总之学习PHP只需一个包。  对学习PHP的新手来说,WINDOWS下环境配置是一件很困难的事;对老手来说也是一件烦琐的事。因此无论你是新手还是老手,该程序...

Global site tag (gtag.js) - Google Analytics