定制 dreadlabs/app-migration 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

dreadlabs/app-migration

最新稳定版本:0.1.1

Composer 安装命令:

composer require dreadlabs/app-migration

包简介

Provides a package for adding runtime migrations to an application.

README 文档

README

Provides an opinionated, ready-to-use way to integrate runtime migration into your PHP application.

Status

Build Status Coverage Status SensioLabsInsight Code Climate Scrutinizer Code Quality

Installation

~ $ php composer.phar require dreadlabs/app-migration:~0.1.1

Components

Interfaces

  • LockInterface - Adapter interface to locking library
  • LoggerInterface - An slimmed down version of the PSR-3 logger interface
  • MediatorInterface - This is the glue between lock, logger and migrator
  • MigratorInterface -Adapter interface to migration library

Exceptions

  • LockingException - If anything goes wrong during locking
  • MigrationException - If a migration can't be executed. Exception code is the version number of the migration which produced the exception.
  • TopologyViolationException - If one or more unprocessed migrations are younger than the latest processed migration.

Companion packages

Opinionated - why?

Topological assumption

I believe, there should be only one direction during migration: "up". This belief comes from looking to migrations like they are ordered on a time axis. You can't go back in time - can you? - and therefore no way to migrate "down".

If you have the need to migrate down (e.g. during testing), just create another migration which rolls back the last one. Then decide which migrations to drop and which can go into CVS.

Logging

Logging is essential during migration. If something went wrong, you need to know as soon as possible what is the problem. Logging is a first class citizen in the mediator. If you don't need logging, just pass in a NullLogger and you're good to go.

License

MIT, © 2015 Thomas Juhnke

统计信息

  • 总下载量: 332
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-10-01