dreadlabs/app-migration

此软件包已被弃用且不再维护。未建议替代软件包。

提供向应用程序添加运行时迁移的软件包。

0.1.1 2015-10-01 09:53 UTC

This package is not auto-updated.

Last update: 2022-06-25 06:20:52 UTC


README

提供一个有见地的、可直接使用的集成运行时迁移到PHP应用程序的方法。

状态

Build Status Coverage Status SensioLabsInsight Code Climate Scrutinizer Code Quality

安装

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

组件

接口

  • LockInterface - 锁定库的适配器接口
  • LoggerInterface - PSR-3日志接口的简化版
  • MediatorInterface - 锁定、日志和迁移之间的粘合剂
  • MigratorInterface - 迁移库的适配器接口

异常

  • LockingException - 锁定过程中出现任何错误
  • MigrationException - 迁移无法执行。异常代码是产生异常的迁移版本号。
  • TopologyViolationException - 如果一个或多个未处理的迁移比最新处理的迁移更年轻。

配套软件包

有见地 - 为什么?

拓扑假设

我认为,迁移过程中应该只有一个方向:“向上”。这种信念来自将迁移视为按时间轴排序的。你不能回到过去——对吗?因此,没有迁移“向下”的方法。

如果你有迁移“向下”的需求(例如在测试期间),只需创建另一个迁移来回滚最后一个迁移。然后决定哪些迁移可以删除,哪些可以进入CVS。

日志记录

日志记录在迁移过程中至关重要。如果出现问题,你需要尽快知道问题所在。日志记录在中介中是第一类公民。如果你不需要日志记录,只需传递NullLogger即可。

许可证

MIT, © 2015 Thomas Juhnke