azema / phigrate
PHP 5.3 的迁移 SQL
Requires
- php: >=5.3.2
- ext-pdo: *
This package is not auto-updated.
Last update: 2024-09-14 13:38:41 UTC
README
简介
Phigrate 是一个用 PHP5 编写的框架,用于生成和管理一系列 "数据库迁移"。数据库迁移是声明性文件,表示数据库(其表、列、索引等)在特定时间点的状态。通过使用数据库迁移,多个开发人员可以共同工作在同一应用上,并确保应用在所有远程开发人员机器上保持一致状态。
该框架的思路借鉴了 Ruby on Rails 内置的迁移系统。任何熟悉 RoR 迁移的人都会立刻感到熟悉。
项目基于持续集成 Jenkins (http://travis-ci.org/Azema/Phigrate)
文档 (https://github.com/Azema/Phigrate/wiki)
功能
-
便携性:描述要创建的表、列、索引等的迁移文件是用纯 PHP5 编写的,然后在运行时转换为适当的 SQL。这允许用户通过单一套迁移文件透明地支持任何 RDBMS(假设有相应的适配器,见下文)。
-
可扩展性:框架是考虑到可扩展性而编写的,它非常模块化。支持新的 RDBMS 应该只需要创建适当的适配器并实现一个接口即可。
-
类似 "rake" 的基本任务支持。框架有一个 "任务" 的概念(实际上,框架的主要焦点,迁移,只是一个普通的任务),它只是实现一个接口的 PHP5 类。任务可以自由编写,只要它们遵循特定的命名约定并实现特定的接口,框架就会自动注册它们并允许它们执行。
-
能够向上或向下移动到特定的迁移状态。
-
生成骨架迁移文件的代码生成器。
-
内置对基本任务的支持,如初始化数据库模式信息表(db:setup)、询问当前版本(db:version)和转储当前模式(db:schema)。
限制
-
PHP 5.3 或更高版本是硬性要求。该框架广泛使用了 PHP5 的面向对象特性。没有计划让框架向后兼容。
-
截至 2007 年 8 月,只支持 MySQL RDBMS。
-
截至 2012 年 9 月,不再支持 PHP 5.2。