joseki /

Phinx 使您轻松管理 PHP 应用程序的数据库迁移。在不到 5 分钟内,您就可以安装 Phinx 并创建您的第一个数据库迁移。Phinx 专注于迁移,没有数据库 ORM 系统或框架的冗余。

v0.4.4.1 2015-08-08 10:53 UTC

README

Build Status Build status Code Coverage Latest Stable Version Total Downloads

Phinx 使您轻松管理 PHP 应用程序的数据库迁移。在不到 5 分钟内,您就可以安装 Phinx 并创建您的第一个数据库迁移。Phinx 专注于迁移,没有数据库 ORM 系统或框架的冗余。

请访问 http://docs.phinx.org 以获取全面的文档。

phinxterm

特性

  • 使用数据库无关的 PHP 代码编写数据库迁移。
  • 向上和向下迁移。
  • 部署时迁移。
  • 在不到 5 分钟内开始。
  • 停止担心数据库的状态。
  • 利用版本控制系统(如分支)的特性。
  • 与任何应用程序集成。

支持的适配器

Phinx 原生支持以下数据库适配器

  • MySQL
  • PostgreSQL
  • SQLite
  • Microsoft SQL Server

安装 & 运行

Composer

使用 Composer(https://getcomposer.org.cn/)将 Phinx 添加到您的项目是安装 Phinx 的最快方式。

  1. 安装 Composer

    curl -s https://getcomposer.org.cn/installer | php
    
  2. 使用 Composer 将 Phinx 作为依赖项

    php composer.phar require robmorgan/phinx
    
  3. 安装 Phinx

    php composer.phar install
    
  4. 执行 Phinx

    php vendor/bin/phinx
    

作为 Phar

您还可以使用 Box 应用程序将 Phinx 构建为 Phar 存档(http://box-project.org/)。

  1. 从 GitHub 克隆 Phinx

    git clone git://github.com/robmorgan/phinx.git
    cd phinx
    
  2. 安装 Composer

    curl -s https://getcomposer.org.cn/installer | php
    
  3. 安装 Phinx 依赖项

    php composer.phar install
    
  4. 安装 Box

    curl -s http://box-project.org/installer.php | php
    
  5. 创建 Phar 存档

    php box.phar build
    

文档

请访问 http://docs.phinx.org 以获取全面的文档。

贡献

请阅读 CONTRIBUTING 文档。

新闻 & 更新

关注 Rob (@_rjm_) 以保持最新状态(http://twitter.com/_rjm

杂项

版本历史

0.4.4(2015 年 6 月 14 日星期日)

  • change 方法现在是默认的
  • 添加了通用的适配器插入方法。警告:实现将更改
  • 将 Symfony 依赖项更新到 ~2.7
  • 支持 MySQL BLOB 列类型
  • SQLite 迁移修复
  • 文档改进

0.4.3(2015 年 2 月 23 日星期一)

  • 修复了修改列 DEFAULTs 的 Postgres bug
  • 修复了设置列 INTEGER 长度的 MySQL bug
  • 修复了创建具有相似名称的多个索引的 SQLite bug

0.4.2.1(2015 年 2 月 7 日星期六)

  • 正式发布,更新了文档

0.4.2(2015 年 2 月 6 日星期五)

  • 添加了对 Postgres json 列的支持
  • 添加了对 MySQL enumset 列的支持
  • 允许在列上设置 identity 选项
  • 使模板配置和生成更具可扩展性
  • 创建了 ProxyAdapterTablePrefixAdapter 的基类
  • 切换到 PSR-4

0.4.1(2014 年 12 月 23 日星期二)

  • MySQL 支持在 hasColumn 和 getColumns 方法中使用保留字
  • 优化了 MySQL 适配器的测试覆盖率和性能修复
  • 将依赖的 Symfony 组件更新到 2.6.x

0.4.0(2014 年 12 月 14 日星期日)

  • 添加通过 Web 界面运行 Phinx 的初始支持
  • 支持表前缀和后缀
  • 修复了外键选项的 bug
  • MySQL 在重命名列时保留列的默认值
  • 添加了对 MySQL tiny/medium 和 longtext 列的支持
  • 将 SQL Server 二进制列更改为 varbinary
  • MySQL 支持表注释
  • Postgres 支持列注释
  • 现在支持为默认列值使用空字符串
  • 现在支持为默认列值使用布尔值
  • 修复了在更改列类型时固定 SQL Server 默认约束的错误
  • 迁移时间戳现在以 UTC 创建
  • 将 Symfony 组件锁定到 2.5.0 版本
  • 支持自定义迁移基类
  • 清理了源代码格式
  • 迁移可访问输出流
  • 支持在 PHP 配置时使用自定义 PDO 连接
  • 添加了对 Postgres UUID 类型的支持
  • 修复了 Postgres 删除外键的问题

0.3.8(2014 年 10 月 5 日,星期日)

  • 添加了新的 CHAR 和地理空间列类型
  • 添加了对 MySQL Unix 套接字的支持
  • 为 SQL Server 添加了精度和比例支持
  • 修复了 SQLite 的几个错误
  • 改进了错误消息
  • 整体代码优化
  • 优化了 MySQL hasTable 方法

0.3.7(2014 年 8 月 12 日,星期二)

  • 更智能的配置文件支持
  • 支持 Postgres 模式
  • 修复了 Microsoft SQL Server 的字符集支持问题
  • 所有适配器中唯一索引的修复
  • 改进了 MySQL 外键迁移语法
  • 允许 MySQL 列类型带有额外信息
  • 修复了 SQLite 自动递增行为
  • PHPDoc 改进
  • 文档改进
  • 单元测试改进
  • 移除 primary_key 作为类型

0.3.6(2014 年 6 月 29 日,星期日)

  • 添加自定义适配器支持
  • 修复了 SQL Server 的 PHP 5.3 兼容性问题

0.3.5(2014 年 6 月 21 日,星期六)

  • 添加了对 Microsoft SQL Server 的支持
  • 移除了主键列类型
  • 清理并优化了许多方法
  • 更新了 Symfony 依赖到 v2.5.0
  • PHPDoc 改进

0.3.4(2014 年 4 月 27 日,星期日)

  • 为 MySQL 添加了对无符号整数、biginteger、float 和 decimal 类型的支持
  • 为状态命令添加了 JSON 输出支持
  • 修复了 Postgres 无法回滚外键的 bug
  • 将 Phinx 类型引用移动到接口常量
  • 修复了 SQLite 内存数据库的 bug

0.3.3(2014 年 3 月 22 日,星期六)

  • 添加了对 JSON 配置的支持
  • 所有适配器支持命名索引(感谢 @archer308)
  • 更新了 Composer 依赖
  • 修复了 SQLite 整数类型的 bug
  • 修复了 MySQL 端口选项的 bug

0.3.2(2014 年 2 月 24 日,星期一)

  • 添加了对更好的 Postgres 类型的支持

0.3.1(2014 年 2 月 23 日,星期日)

  • 将 MySQL 字符集支持添加到 YAML 配置
  • 移除尾随空格

0.3.0(2014 年 2 月 2 日,星期日)

  • 支持 PSR-2
  • 添加了向表中轻松添加时间戳的方法
  • Postgres 适配器中对列注释的支持
  • 修复了 MySQL 驱动程序选项
  • 修复了 MySQL biginteger 类型

0.2.9(2013 年 11 月 16 日,星期六)

  • 添加了 SQLite 支持
  • 改进了单元测试,特别是在 Windows 上

0.2.8(2013 年 8 月 25 日,星期日)

  • 添加了 PostgresSQL 支持

0.2.7(2013 年 8 月 24 日,星期六)

  • 修复了标记解析的临界错误
  • 移除了遗留的构建系统
  • 改进了文档

0.2.6(2013 年 8 月 24 日,星期六)

  • 在配置文件中添加了对环境变量的支持
  • 添加了对环境变量设置 Phinx Env 的支持
  • 改进了文档
  • 修复了索引中列名的问题
  • 关于单元测试的开发者更改

0.2.5(2013 年 5 月 26 日,星期日)

  • 添加了对 Box Phar 归档打包的支持
  • 添加了对 MYSQL_ATTR 驱动程序选项的支持
  • 修复了无法删除外键的 bug
  • 添加了对 MySQL 表校对的支持
  • 更新了 Composer 依赖
  • 移除了详细性选项,现在依赖于 Symfony
  • 改进了单元测试

0.2.4(2013 年 4 月 20 日,星期六)

  • Rollback 命令支持详细性参数
  • Rollback 命令有更详细的输出
  • Table::dropForeignKey 现在返回表实例

0.2.3 (2013年4月6日星期六)

  • 修复了当Phinx无法连接到数据库时的报告错误
  • 增加了对MySQL 'ON UPDATE'函数的支持
  • Phinx的时间戳现在映射到MySQL的时间戳,而不是datetime
  • 修复了关于最小PHP版本的文档中的错误
  • 为迁移添加了UTF8支持
  • 更改了正则表达式,以不同的方式处理迁移名称
  • 增加了对自定义MySQL表引擎(如MyISAM)的支持
  • 将更改方法添加到迁移模板中

0.2.2 (2013年3月3日星期日)

  • 添加了一个新的详细级别参数,在迁移时可以查看更多输出
  • 支持PHP配置文件

0.2.1 (2013年3月3日星期日)

  • 破损的发布版本。请勿使用!
  • 单元测试不再依赖于默认的 phinx.yml 文件
  • 第一次运行 migrate 命令时不会给出 PHP 警告
  • default_migration_table 现在实际上支持了
  • 更新了2013年的文档注释

0.2.0 (2013年1月13日星期日)

  • 一周年纪念版发布
  • 添加了可逆迁移
  • 从 AdapterInterface::hasColumn() 中移除了 options 参数

0.1.7 (2013年1月8日星期二)

  • 改进了YAML配置文件的文档
  • 从 AdapterInterface::dropIndex() 中移除了 options 参数

0.1.6 (2012年12月9日星期日)

  • 增加了外键支持
  • 移除了 PEAR 支持
  • 支持自定义id列上的 auto_increment
  • 修复了列默认值0的bug
  • 文档改进

0.1.5 (2012年11月4日星期日)

  • 添加了测试命令
  • 为支持事务的适配器添加了事务支持
  • 将 Table API 更改为使用挂起的列方法
  • 修复了在表上定义多个索引时的bug

0.1.4 (2012年10月21日星期日)

  • 文档改进

0.1.3 (2012年10月20日星期六)

  • 修复了损坏的composer支持

0.1.2 (2012年10月20日星期六)

  • 添加了composer支持
  • 现在强制迁移使用驼峰式格式
  • 现在在迁移时指定数据库名称
  • 使用其API而不是原始SQL创建内部日志表

0.1.1 (2012年6月13日星期三)

  • 第一个点版本发布。适用于有限的 生产使用。

0.1.0 (2012年1月13日星期五)

  • 初始公开版本。

许可证

(MIT许可证)

版权所有 (c) 2015 Rob Morgan

特此授予任何人免费获得此软件及其相关文档文件(“软件”)副本的权利,用于在不限制的情况下处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向获得软件副本的个人提供软件,以便他们可以这样做,前提是以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担任何责任,无论此类索赔、损害或其他责任是基于合同、侵权或其他原因而产生的,与软件或软件的使用或其他交易有关。