Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Phalcon数据库迁移还原/回滚_Php_Database Migration_Phalcon - Fatal编程技术网

Php Phalcon数据库迁移还原/回滚

Php Phalcon数据库迁移还原/回滚,php,database-migration,phalcon,Php,Database Migration,Phalcon,如果出现升级问题,我希望作为Phalcon devtools迁移命令的一部分,还原/回滚对数据库所做的更改 在迁移文件中,似乎可以使用public function down()方法执行此操作。然而,我似乎无法让它运行。没有明显的回滚命令,只有“生成”和“运行”(从Phalcon devtools 1.3.4开始) 我在git上快速搜索了devtools代码,特别是这里的Migration.php代码:。有对up()的调用,但没有提到down() 这里推荐的实现回滚功能的方法是什么?提到的 如果

如果出现升级问题,我希望作为Phalcon devtools迁移命令的一部分,还原/回滚对数据库所做的更改

在迁移文件中,似乎可以使用
public function down()
方法执行此操作。然而,我似乎无法让它运行。没有明显的回滚命令,只有“生成”和“运行”(从Phalcon devtools 1.3.4开始)

我在git上快速搜索了devtools代码,特别是这里的Migration.php代码:。有对
up()
的调用,但没有提到
down()

这里推荐的实现回滚功能的方法是什么?

提到的

如果指定目标版本,Phalcon将运行所需的迁移,直到达到指定版本

它引用了可以在迁移运行命令中使用的
--version
参数:

phalcon migration run --version=1.0.1
根据
.phalcon/migration version
中存储的当前数据库版本,它将使用up或down来达到版本1.0.1

例如,给定该命令并假设我们有迁移1.0.0、1.0.1和1.0.2:

  • 如果迁移版本不存在,它将运行迁移1.0.0和1.0.1中的up方法
  • 如果迁移版本为1.0.2,它将从迁移1.0.2运行down方法

可能不是您想要的答案,但我们有几十个phalcon项目,我们最终使用phinx进行迁移以获得更好的支持。我浏览了phinx文档,它看起来确实是一个更强大的解决方案。谢谢David。我喜欢Phalcon迁移,因为您可以直接更改数据库,然后自动生成迁移。在我看到的其他迁移系统中,情况正好相反:您编写迁移,然后将它们应用到数据库,但没有自动生成。phinx是否具有自动生成功能?