nuxwin/ruckusing-migrations

数据库迁移生成和管理框架

dev-master 2012-09-28 01:04 UTC

This package is not auto-updated.

Last update: 2024-09-14 12:53:04 UTC


README

Ruckusing 是一个用 PHP5 编写的框架,用于生成和管理一系列 "数据库迁移"。数据库迁移是声明性文件,代表了数据库(包括其表、列、索引等)在特定时间点的状态。通过使用数据库迁移,多个开发者可以同时对同一应用程序进行工作,并保证应用程序在所有远程开发者机器上处于一致状态。

该框架的灵感来自 Ruby on Rails 内置的迁移系统。任何熟悉 RoR 迁移的人都会感到非常熟悉。

入门 & 文档

请参阅 Wiki,了解支持的迁移方法和如何入门的完整文档。

特性

  • 可移植性:描述要创建的表、列、索引等迁移文件的文件本身是用纯 PHP5 编写的,然后在运行时将其转换为适当的 SQL。这允许通过单个迁移文件集透明地支持任何 RDBMS(假设有适配器,见下文)。

  • 可扩展性:该框架以可扩展性为设计理念,它非常模块化。支持新的 RDMBS 应该像创建适当的适配器和实现单个接口一样简单。

  • 类似于 "rake" 的基本任务支持。该框架有一个 "任务" 的概念(实际上框架的主要焦点,迁移,只是一个普通的任务),它只是实现了接口的 PHP5 类。可以自由编写任务,只要它们遵循特定的命名约定并实现特定的接口,框架就会自动注册它们并允许执行。

  • 能够向上或向下到特定的迁移状态。

  • 代码生成器,用于生成骨架迁移文件。

  • 开箱即用的基本任务支持,如初始化数据库模式信息表(db:setup)、请求当前版本(db:version)和转储当前模式(db:schema)。

限制

  • PHP5 是硬性要求。该框架广泛使用了 PHP5 的面向对象特性。没有计划使框架向后兼容。

  • 截至 2007 年 8 月,仅支持 MySQL RDBMS。