我最近不得不在我的奏鸣曲应用程序中为Product添加新的'field',所以我在实体描述中添加了它......
/**
* @var integer $deliveryTime
*/
protected $deliveryTime;
/**
* Get deliveryTime
*
* @return integer $deliveryTime
*/
public function getDeliveryTime()
{
return $this->deliveryTime;
}
/**
* @param int $deliveryTime
*/
public function setDeliveryTime($deliveryTime)
{
$this->deliveryTime = $deliveryTime;
}
ORM中的
<field name="deliveryTime" column="delivery_time" type="integer" nullable="true" />
在ProductProvider中
$formMapper->add('deliveryTime', 'integer')
以及所有观点
它完全适用于我的本地环境但是当我将它移动到生产时它不起作用。 有趣的是,如果我在我的生产服务器上访问开发环境,它会显示产品的交付时间,但是在prod环境中却没有。
我使用--env = prod选项清除了缓存,甚至从dev和prod文件夹中物理删除了缓存文件,但它无济于事。
数据库不是问题,因为如果原因是数据库,它将无法在dev env上运行。
我还应该做些什么让它在prod env上运行? (我可以在没有工具栏的情况下切换到dev env,但这不是'好'的方法:)
更新:@ moonwave99是的我更新了数据库,app_prod.log中没有相关内容
什么不适用于prod并适用于dev: - 在产品视图中显示数据库中产品的交货时间 - 通过管理面板显示/更新交货时间
答案 0 :(得分:3)
这很奇怪 - 我在生产服务器上重新启动了apache服务,现在它可以工作了。
答案 1 :(得分:1)
尝试运行一些命令,
php app/console doctrine:schema:update --force
php app/console cache:clear
php app/console cache:clear --env=prod --no-debug
如果失败则重新推送您的代码
并重新运行
希望有所帮助
答案 2 :(得分:0)
您应该重新加载APC。 Prod环境在该系统中保存了doctrine缓存。 如果你使用PHP + Apache - 重启apache 如果你使用PHP-FPM - 重启php-fpm。