dreadlabs / app-migration
此软件包已被弃用且不再维护。未建议替代软件包。
提供向应用程序添加运行时迁移的软件包。
0.1.1
2015-10-01 09:53 UTC
Requires (Dev)
- apigen/apigen: ~4.1
- codeclimate/php-test-reporter: dev-master
- pdepend/pdepend: ~2.0
- phploc/phploc: ~2.1
- phpmd/phpmd: ~2.2
- phpunit/phpunit: ~4.6
- sebastian/phpcpd: ~2.0
- squizlabs/php_codesniffer: ~2.3
This package is not auto-updated.
Last update: 2022-06-25 06:20:52 UTC
README
提供一个有见地的、可直接使用的集成运行时迁移到PHP应用程序的方法。
状态
安装
~ $ php composer.phar require dreadlabs/app-migration:~0.1.1
组件
接口
- LockInterface - 锁定库的适配器接口
- LoggerInterface - PSR-3日志接口的简化版
- MediatorInterface - 锁定、日志和迁移之间的粘合剂
- MigratorInterface - 迁移库的适配器接口
异常
- LockingException - 锁定过程中出现任何错误
- MigrationException - 迁移无法执行。异常代码是产生异常的迁移版本号。
- TopologyViolationException - 如果一个或多个未处理的迁移比最新处理的迁移更年轻。
配套软件包
- dreadlabs/app-migration-lock-ninjamutex - 用于
arvenil/ninja-mutex
的锁定适配器 - dreadlabs/app-migration-migrator-phinx - 用于
robmorgan/phinx
的迁移适配器 - dreadlabs/app-migration-typo3 - 与TYPO3.CMS的集成
有见地 - 为什么?
拓扑假设
我认为,迁移过程中应该只有一个方向:“向上”。这种信念来自将迁移视为按时间轴排序的。你不能回到过去——对吗?因此,没有迁移“向下”的方法。
如果你有迁移“向下”的需求(例如在测试期间),只需创建另一个迁移来回滚最后一个迁移。然后决定哪些迁移可以删除,哪些可以进入CVS。
日志记录
日志记录在迁移过程中至关重要。如果出现问题,你需要尽快知道问题所在。日志记录在中介中是第一类公民。如果你不需要日志记录,只需传递NullLogger即可。
许可证
MIT, © 2015 Thomas Juhnke