watoki / stepper
PHP 的最小化迁移工具。
dev-master
2015-02-02 13:29 UTC
Requires
- php: >=5.4
- watoki/cli: *
- watoki/factory: *
- watoki/smokey: *
Requires (Dev)
- watoki/scrut: *
This package is not auto-updated.
Last update: 2024-09-14 14:45:11 UTC
README
stepper 是一个极简的迁移工具。
用法
为了使用 stepper,你需要至少一个步骤,该步骤定义了执行步骤时应该发生什么,以及是否以及如何撤销。
class MyFirstStep implements Step {
public function up() {
// does something
}
public function down() {
// undoes something
}
public function canBeUndone() {
return true;
}
public function next() {}
}
有了这个步骤和一个文件(例如 migration.state),用于存储当前状态,你可以开始 Stepper
$app = new CliApplication(new StepperCommand(new StepOne(), 'migration.state'));
$app->run();
就是这样。你现在可以使用 php myScript.php 来执行步骤。如果你稍后添加第二个步骤,请确保第一个步骤在它的 next 方法中返回它
public function next() {
return new AnotherStep();
}
如果你现在运行 php myScript.php,则只有 AnotherStep 被执行,因为第一个步骤已经执行的事实已经保存在 migration.state 中。
如果你想撤销 AnotherStep 所做的任何事情,你可以运行 php myScript.php --to=MyFirstStep,这将执行 AnotherStep 的 down 函数。如果 AnotherStep::canBeUndone 返回 false,则这不会起作用。
文档
有关详细文档,请参阅 测试套件。