hipay / php-database-migration
rake 和 MyBatis SQL 迁移工具
v4.1.0
2016-02-26 16:25 UTC
Requires
- php: >=5.4.0
- cocur/slugify: ^2.0
- symfony/config: ^3.0 || ^2.0
- symfony/console: ^3.0 || ^2.0
- symfony/process: ^3.0 || ^2.0
- symfony/yaml: ^3.0
Requires (Dev)
README
这是一个基于 symfony 控制台的完整独立 PHP 工具,灵感来自 rails 数据库迁移工具和 MyBatis。它合并了两者的功能,并设计得尽可能灵活。
将工具安装到项目中
只需将其添加到 composer.json 中(不要忘记指定您的 bin 目录)警告:所有迁移命令必须在您的根目录下执行,例如 bin/migrate migrate:command...
{
"name": "jdoe/testproject",
"authors": [
{
"name": "Jhon DOE",
"email": "jdoe@gmail.com"
}
],
"require": {
"php-database-migration/php-database-migration" :"3.4.*"
},
"config": {
"bin-dir": "bin"
}
}
添加环境
在玩 SQL 迁移之前,首先需要添加一个环境,让我们添加开发环境。
初始化
添加环境后,您需要初始化它(在正确的数据库上创建变更日志表)
创建迁移
现在是时候创建我们的第一个迁移文件了。
迁移文件如下所示
--// add table users
-- Migration SQL that makes the change goes here.
create table users (id integer, name text);
-- @UNDO
-- SQL to undo the change goes here.
drop table users;
上升和下降
现在您可以上升所有挂起的迁移。如果您决定下降迁移,则最后一个迁移将单独下降,以防止错误。在运行实际的 SQL 脚本之前,您将需要确认数据库降级。
对于开发目的,也可以单独上升一个迁移,而不必担心其他的。
下降也是同样的道理。