从现有表生成单个Symfony2实体

时间:2015-10-05 21:31:01

标签: symfony doctrine-orm mapping

我需要命令从现有数据库生成单个实体,我无法正确格式化命令。我将我的设置更改为parameters.yml中的数据库,以查看有问题的数据库,然后运行:
php app / console doctrine:mapping:import AppBundle xml --filter =“tbl_remote”

这继续抱怨某些与tbl_remote无关的表没有主键。从错误消息我可以看到它正在查看正确的数据库,但我需要只为一个表创建和实体。

根据我的理解,这将创建一个xml文件并获取我将运行的实体:
php app / console doctrine:generate:entities AppBundle:tbl_remote --path src /

为什么不创建xml文件?

2 个答案:

答案 0 :(得分:3)

在发现return std::atomic<int>::add(*i, v);没有按照我的意愿行事后,我编写了--filter脚本并在我的测试数据库中创建了它。然后我更改tbl_remote以查看测试数据库并在运行之后:parameters.yml 我受到了欢迎:“数据库没有任何映射信息。”

这不是我的一天所以我只是运行:php app/console doctrine:mapping:import --filter="tbl_remote" AppBundle并删除了我不需要的.orm.xml。

然后我就可以运行:php app/console doctrine:mapping:import AppBundle  生成单个实体!!不是我想要的,但不是完全的损失。

答案 1 :(得分: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