rimote/updater

此软件包最新版本(v0.1-alpha)没有可用的许可信息。

更新实用工具,可以通过部署脚本调用,能够执行特定的安装配置、数据库更新和/或回滚。

v0.1-alpha 2014-04-03 14:30 UTC

This package is not auto-updated.

Last update: 2024-09-28 15:35:08 UTC


README

PHP 命令行实用工具,可以通过部署脚本调用,能够执行特定的安装配置、数据库更新和/或回滚。

它执行以下任务

  • 使用 PDO 执行数据库操作,这是将项目安装的数据库更新到新版本或回滚所必需的

将来将支持以下任务

  • 处理自定义 PHP 更新脚本
  • 链式回滚/更新多个版本
  • 通过跟踪失败更新中的各个步骤进行手术回滚

配置

更新软件包

Updater 期望您提供版本号以及一个包含更新软件包的本地目录的路径。每个更新软件包都是一个包含凭证文件以及更新和/或回滚数据库的 SQL 模式的子目录。

例如

updates
 |
 \--- 1.2.0 
 |      |
 |      \--- db_credentials.php
 |      \--- db_changes.sql
 |      \--- db_rollback.sql
 \--- 1.2.1
 |     |
 |     \--- db_credentials.php
 |     \--- db_changes.sql
 |     \--- db_rollback.sql
etc...

SQL 文件必须包含 PHP 的 PDO::query() 方法可以独立执行的全局 SQL 命令,每次一个。

db_credentials.php 需要返回一个类似以下的数组

return array(
    'dsn' => 'mysql:dbname=database_name;host=hostname',
    'username' => 'username',
    'password' => 'password'
);

安装 PHP Composer

您可以使用以下方式下载 Composer

$ curl -s https://getcomposer.org/installer | php

这将把 composer.phar 脚本安装在当前目录。此文件可以添加到 .gitignore,这样您就可以保留本地副本。

用法

使用 app/console 从命令行运行应用程序。使用以下命令查看命令列表

$ app/console list

运行更新

$ app/console update <version_number> <path/to/updates/directory>

执行回滚

$ app/console rollback <version_number> <path/to/updates/directory>

开发者指南

依赖

此项目需要 PHP 5.3+。所有外部库都可以使用 Composer 安装

$ php composer.phar install # Install all dependencies to your machine

请记住定期运行以下命令以更新供应商软件

$ php composer.phar update

测试

使用 PHPUnit 运行测试

$ phpunit

生成代码覆盖率 HTML

$ phpunit --coverage-html ./phpunit-reports

故障排除

每当出现问题和解决方案时都会更新。