【问题标题】:Phalcon database migration revert/rollbackPhalcon 数据库迁移还原/回滚
【发布时间】:2015-06-30 05:52:21
【问题描述】:

我想恢复/回滚对数据库所做的更改,作为 Phalcon devtools 迁移命令的一部分,以防出现升级问题。

在迁移文件中,使用public function down() 方法似乎应该可以做到这一点。但是,我似乎无法让它运行。没有明显的回滚命令,只有“生成”和“运行”(从 Phalcon devtools 1.3.4 开始)。

我已经快速搜索了 git 上的 devtools 代码,特别是这里的 Migration.php 代码:https://github.com/phalcon/phalcon-devtools/blob/master/scripts/Phalcon/Mvc/Model/Migration.php。有人致电up(),但没有提及down()

在此处实现回滚功能的推荐方法是什么?

【问题讨论】:

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

标签: php database-migration phalcon


【解决方案1】:

documentation 提及

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

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

phalcon migration run --version=1.0.1

根据存储在.phalcon/migration-version 中的当前数据库版本,它将向上或向下使用以达到版本 1.0.1

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

  • 如果 migration-version 不存在,它将运行迁移 1.0.0 和 1.0.1 中的 up 方法
  • 如果 migration-version 为 1.0.2,它将从 migration 1.0.2 开始运行 down 方法

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    • 2015-07-10
    • 2011-04-17
    • 1970-01-01
    • 2013-06-13
    相关资源
    最近更新 更多