phinx数据库脚本迁移工具

Phinx 可以使用 Composer 进行安装,Composer是一个PHP依赖管理工具。更多信息请访问 Composer 官网。

Phinx 至少需要PHP 5.4 或更新的版本

第一步:安装

composer require robmorgan/phinx

第二步:初始化

安装后,Phinx 现在可以在你的项目中执行初始化

php vendor/robmorgan/phinx/bin/phinx init

第三步:配置文件

phinx.yml

第四步:创建迁移 文件名驼峰命名

php vendor/robmorgan/phinx/bin/phinx create MyNewMigration

这将创建一个新的迁移脚本,格式是 YYYYMMDDHHMMSS_my_new_migration.php ,前14个字符是当前的timestamp,精确到秒。

如果你指定了多个脚本路径,将会提示你选择哪一个。

Phinx 自动创建的迁移脚本框架有一个方法:

<?phpuse Phinx\Migration\AbstractMigration;class MyNewMigration extends AbstractMigration
{/*** 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(){//添加qaSource字段(qa来源)$wbrqa = $this->table("wbrqa");if (!$wbrqa->hasColumn('qaSource')) {$wbrqa->addColumn("qaSource", "string", ['limit' => 30, 'null' => true, 'default' => '', 'comment' => 'qa来源'])->update();}}//更改列属性[wbrqa: qid、aid更改字段属性为varchar 用户于存储mongoDb: _id、parentId]$wbrqa = $this->table("wbrqa");$wbrqa->changeColumn('qId', 'string', ['limit' => 255, 'null' => true])->save();$wbrqa->changeColumn('aId', 'string', ['limit' => 255, 'null' => true])->save();$wbrqa->changeColumn('qUserId', 'string', ['limit' => 255, 'null' => true])->save();$wbrqa = $this->table("wbrqa");if (!$wbrqa->hasColumn('isDeleted')) {$wbrqa->addColumn("isDeleted", "integer", ['limit' => 2, 'null' => true,                          'default' => '0', 'comment' => '是否删除'])->update();}//建立索引$wbrqa->hasIndex(['isDeleted', 'index_wbrqa_isDeleted']);
}

第五步:执行脚本

php vendor/robmorgan/phinx/bin/phinx migrate -e localhost

注意点:


> php vendor/robmorgan/phinx/bin/phinx migrate -e *localhost*

此处的localhost为你本地的环境,也可以是线上环境,但是在使用之前,必须配好环境。
环境配置在下一文章详细说明。
链接地址:https://blog.csdn.net/weixin_39690767/article/details/80267801

原文地址https://blog.csdn.net/weixin_39690767/article/details/80267521

phinx数据库脚本迁移工具相关推荐

  1. Phinx - 数据库迁移及版本控制介绍(内含中文文档翻译)

    Phinx dbmigration是一个数据库脚本迁移工具,用于数据库结构的同步和版本控制十分友好 Phinx 官方文档:docs.phinx.org/en/latest/ 中文翻译文档:tsy123 ...

  2. spring-cloud集成数据库版本迁移工具flyway

    spring-cloud集成数据库版本迁移工具flyway Flyway实现数据库版本同步有两种方式,一种就是直接导包,通过配置文件使用,还有一种就是自定义的方式. 一 .依赖+配置文件 1 flyw ...

  3. sqlserver在linux数据备份,SQLServer数据库之sqlserver for linux自动备份数据库脚本

    本文主要向大家介绍了SQLServer数据库之sqlserver for linux自动备份数据库脚本,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. 不多说直接上脚本 # ...

  4. 全国省市区县数据库脚本

    由于项目需要,整理了一套全国的省市区县数据库脚本.创建表后可以成功执行语句. insert into tbl_province(codeid,parentid,name,createtime) val ...

  5. 如何使用Navicat恢复数据库脚本

    Navicat 可以做数据库备份,当然也可以做数据库脚本恢复了.操作很简单. 1.连接需要恢复的数据库.鼠标右键点击,选择[运行SQL文件] 2.在弹出的窗口中选择sql文件,继续下一步即可. 余不赘 ...

  6. 根据Word表格自动生成SQL数据库脚本的VBScript代码

    这是几年前写的根据Word表格自动生成SQL数据库脚本的VBScript代码,最近修改了下(原来只支持单个Word表格)使其支持一个Word文档中的多个表格,生成的SQL文件名以Word文件名+.SQ ...

  7. 数据库文档生成数据库脚本工具

    数据库文档生成数据库脚本工具,txt->sql word文档: ---------------------------------------------------------- 图一 复制到 ...

  8. PowerDesigner中在生成的数据库脚本中用name列替换comment列作为字段描述的方法

    1 PowerDesigner中在生成的数据库脚本中用name列替换comment列作为字段描述的方法如下, 依次打开Tools – Execute Commands – Run Script,运行以 ...

  9. Linux自动备份MySQL数据库脚本代码

    Linux自动备份MySQL数据库脚本代码 下面这段Linux的Shell脚本用于每日自动备份MySQL数据库,可通过Linux的crontab每天定时执行 在脚本中可设置需要备份的数据库表清单,并且 ...

最新文章

  1. CCS编译出错:缺少头文件的解决办法
  2. 腾讯面经 | 数据从业者的一次“典型”面试
  3. mycat 启动失败 The specified size exceeds the maximum representable size JVM exited while loading the a
  4. iOS边练边学--AFNetWorking框架GET、Post、Download、Upload,数据解析模式以及监控联网状态...
  5. DOM节点中属性nodeName、nodeType和nodeValue的区别 Delphi
  6. C# web项目中sql数据库转sqlite数据库
  7. mysql命令导出方法_MySql使用mysqldump 导入与导出方法总结
  8. 怎么设置苹果手机的小圆点_iPhone屏幕旋转怎么设置?关于苹果手机设置的一些小技巧...
  9. 数字计算机第一次应用于工业是什么时候,计算机应用基础(二)第一次作业(95%的答案)(1884页)-原创力文档...
  10. Android 单元测试cmd 命令集
  11. vivox7Android版本怎么升级,vivo公布安卓7.1系统更新计划,老款机型也能升级
  12. 实现一个文本文件的解析类(vector,字符串解析的应用)
  13. 2023考研王道计算机408数据结构+操作系统+计算机组成原理+计算机网络
  14. cuda10.0及其驱动纯净卸载(笔记)
  15. 饭店点餐系统之系统工作流程
  16. java项目里bean文件夹_JavaBean的class文件必须放在WEB-INF文件夹中。()
  17. FSAF:Feature Selective Anchor-Free Module for Single-Shot Object Detection笔记
  18. 计算机使用鼠标的课件,鼠标的基本操作ppt课件.ppt
  19. IPFS云服务器预售登录系统,ipfs 云服务器
  20. 深入浅出Pairwise 算法

热门文章

  1. 【笔记——Java】读取properties文件
  2. [javascript]实现登陆界面拖动窗口
  3. day20---IO流概述
  4. 使用rsync完成内网数据备份
  5. 以优美方式编写JavaScript代码
  6. matlab和本机MySQL链接
  7. 实战MongoDB-Replication之Master-Slave
  8. windows上安装Metasploit Framework 4.0
  9. Qt Displaying Window教程中无法解析的外部符号错误解决办法
  10. 大数据平台的搭建思路是怎样的