2015-10-05 22 views
1

單Symfony2的實體,我需要的命令從現有數據庫中的單個實體,我不能命令格式正確無誤。我改變了我的設置到數據庫中parameters.yml看看有問題的數據庫,然後我運行:
PHP應用程序/控制檯學說:映射:進口的appbundle XML --filter =「tbl_remote」從現有表

這不斷抱怨某些與tbl_remote無關的表沒有主鍵。從錯誤信息,我可以看到它正在尋找正確的數據庫,但我需要的只有一個表創建和實體。

從我的理解,這將創建一個XML文件,並讓我將運行實體:
PHP應用程序/控制檯學說:生成:實體的appbundle:tbl_remote --path的src/

爲什麼它不會產生xml文件?

+0

我看到:「儘管--filter屬性主義分析所有的表。」這http://stackoverflow.com/questions/22221967/symfony2-doctrinemappingimport-throws-doctrine-orm-mapping-mappingexception文章......,吸? –

回答

2

在發現--filter沒有達到我所希望的效果後,我編寫了tbl_remote並在我的測試數據庫中創建了它。後來我改變parameters.yml看的測試數據庫運行後:php app/console doctrine:mapping:import --filter="tbl_remote" AppBundle 我是招呼:「數據庫沒有任何映射信息」

這不是我的日子,所以我只是跑:php app/console doctrine:mapping:import AppBundle和刪除,我並不需要.orm.xml。我可以運行:php app/console doctrine:generate:entities AppBundle 生成單個實體!不是我想要的,但沒有完全喪失。

0

產生從我用這個小sh腳本的數據庫的單一實體:

#!/bin/bash 
clear; 
echo "####################################################################################################" 
echo "# Generating the Doctrine files for a given entity, be carefull that the entities are CamelCased". #" 
echo "####################################################################################################" 
date 

# Testing arguments 
EXPECTED_ARGS=1 
E_BADARGS=65 
if [ $# -ne $EXPECTED_ARGS ] 
then 
    echo "Usage: ./`basename $0` MyEntity" 
    exit $E_BADARGS 
fi 

php app/console doctrine:mapping:import CoreBundle annotation --filter=$1 
php app/console doctrine:generate:entities Project\\Bundle\\CoreBundle\\Entity\\$1 
echo " --> Done!" 
date