mysql - CakePHP 迁移插件工作流程

标签 mysql cakephp migration

在我工作的地方,我们使用这个插件来管理我们的数据库更改。最近,部署我们项目的人在使用该插件时遇到了问题,因为它们正在包含数据的数据库上运行。

例如,当向已存在的表添加一个字段(该字段将成为外键且不能为空)时,如果生产环境中已存在该特定表的数据,通常会出现问题。从空数据库从头到尾运行迁移几乎总是有效,但当有数据时,它充其量似乎是不确定的。

我在互联网上看到的大多数工作流程示例都表明它是在开发过程中使用的,而不是用于部署。我唯一能想到的事情是,协作人员在运行迁移之前将数据转储到自己的表中。

当然,我在这里要求提供工作流程示例,所以我不应该假设。只是有点困惑,如果您正在使用一个包含您不想丢失的数据的环境,那么这有什么好处?

如有任何建议,我们将不胜感激。

最佳答案

嗯,我不确定您为什么会在这里遇到问题。我们一直在使用这个插件来管理我们的部署,并且它在我们部署的所有服务器上都足够流畅(具有数百万条记录)。

我刚刚检查以确保这种情况发生在我们的任何迁移中,并发现它出现了几次,没有任何问题!这是其中一个的副本,它运行顺利并添加了新字段。

   'create_field' => array(
        'TableName' => array(
            'fieldName' => array('type' => 'integer', 'null' => false, 'default' => NULL)
        ),
    ),

关于mysql - CakePHP 迁移插件工作流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26758804/

相关文章:

mysql - 2 在带有 LEFT JOIN 的 SELECT 中进行 COUNT

php - 如何在 mysql 查询字符串中传递 int 值?

php - CakePHP、jQuery - 将数据属性添加到 anchor

java - 将 Struts-Tiles 迁移到 Spring+tiles 3

php - html选择不工作

php - MySQL 认为 '2015123' 与 '02015123' 不同

php - 如何使用 CakePHP 将数据保存在不同的表上?

php - 使用自定义身份验证适配器时检查 CakePHP 上的登录用户信息

svn - 将数据从 VSS 迁移到 SVN

python - Django 迁移 : doesn't create tables