2015-06-15 52 views
6

我有兩臺服務器(本地和一個生產)。他們有相同的設置。當我想讓我的新代碼進入生產時,我更新的唯一東西是src文件夾。所以當我推送一個版本時,這個文件夾是完全一樣的。Symfony相同的代碼,不同的服務器,沒有字段或關聯

在我的本地服務器上,實體/表中的新列可以工作,並且可以創建,更新等。但是在我的生產環境中,這個新列沒有被發現,甚至沒有被原則選中。

新列在我的數據庫(包括生產和本地)中,位於我的entity.php文件中,位於我的entity.orm.yml文件中。

我做了app/console cache:clear選項。 dev和prod都在兩臺服務器上。

我在做什麼錯?

+0

config.yml中的auto_mapping可能不會設置爲true – pcm

+0

是您的本地服務器還是生產服務器都以'prod'模式運行?如果運行'app/console doctrine:schema:update --dump-sql',你會得到什麼輸出? – redbirdo

+0

您是否更新了代理? –

回答

4

終於找到了解決辦法。

因爲我沒有在本地服務器上使用元數據緩存,但是我在我的生產服務器上使用了它,所以它保存了我的映射信息。這就是爲什麼教義不知道我有新的專欄。解決的辦法是使用以清除元數據緩存:

php bin/console doctrine:cache:clear-metadata

後,我跑php bin/console doctrine:schema:update --dump-sql,我得到了新的欄目。

相關問題