Silverstripe 在构建时创建过时的表
Silverstripe is creating obsolete tables on build
我有一个非常可怕的问题。最近几次我将代码推送到生产环境时,silverstripe 会将 table 或两个设置为过时,即使所做的更改与 class 无关。当我 运行 第二次构建时, table 返回但没有行。
真正奇怪的是,这似乎只发生在我们的生产环境中(当然)。
在暂存和生产中,我们通过 beantalk 运行ning sake dev/build
在 post 部署挂钩中,这是在创建过时的 table 时。
我在 another question 中读到这可能是因为 table 没有定义 $db 或者它没有 $has_one 关系。但我们不是这样的,页面既有设置也有更多。
服务器配置:
SilverStripe 版本 3.1(最新)
PHP
开发 5.6.16
暂存 5.5.14
生产 5.5.28
Mysql
开发 5.6.27
暂存 5.1.73
生产 5.1.73
在我看来它可能是某种配置缓存。
我不确定诊断还需要哪些其他信息,请告诉我,我会获得更多信息。
我不确定到底是什么原因造成的,但看起来我们的自动部署过程留下了几个目录和文件。我们已经转移到 composer,在受影响的项目上从头开始部署,现在一切正常。
我有一个非常可怕的问题。最近几次我将代码推送到生产环境时,silverstripe 会将 table 或两个设置为过时,即使所做的更改与 class 无关。当我 运行 第二次构建时, table 返回但没有行。
真正奇怪的是,这似乎只发生在我们的生产环境中(当然)。
在暂存和生产中,我们通过 beantalk 运行ning sake dev/build
在 post 部署挂钩中,这是在创建过时的 table 时。
我在 another question 中读到这可能是因为 table 没有定义 $db 或者它没有 $has_one 关系。但我们不是这样的,页面既有设置也有更多。
服务器配置:
SilverStripe 版本 3.1(最新)
PHP
开发 5.6.16
暂存 5.5.14
生产 5.5.28
Mysql
开发 5.6.27
暂存 5.1.73
生产 5.1.73
在我看来它可能是某种配置缓存。
我不确定诊断还需要哪些其他信息,请告诉我,我会获得更多信息。
我不确定到底是什么原因造成的,但看起来我们的自动部署过程留下了几个目录和文件。我们已经转移到 composer,在受影响的项目上从头开始部署,现在一切正常。