我已经为我的应用程序添加了一个新的包和实体。我创建了一个User.orm.xml文件,并从命令行成功生成了该实体。现在我想在我的数据库中创建额外的表。学说架构错误
当我运行:
php app/console doctrine:schema:update --force
我得到一个错误。这导致我有两个问题:
1)创建一个表的语法是什么,只是新的User实体?
2)什么可能导致下面的错误。我没有更改任何其他orm文件。但是,我确实在实体中手动输入了一对多关系。可能是相关的:
[Doctrine\DBAL\DBALException]
An exception occurred while executing 'ALTER TABLE report CHANGE id id INT AUTO_INCREMENT NOT NULL':
SQLSTATE[HY000]: General error: 1025 Error on rename of './dbname/#sql-7e5_7' to './dbname/report' (errno: 150)
[PDOException]
dbname SQLSTATE[HY000]: General error: 1025 Error on rename of './dbname/#sql-7e5_7' to './dbname/report' (errno: 150)
两个表,“报告”和“reportcolumn”是相关的。在实体/ reportcolumn.php,它annoted但我并没有在最初创建数据库的ORM文件反映了它:
/**
* @var \Acme\DataBundle\Entity\Report
*
* @ORM\ManyToOne(targetEntity="Acme\DataBundle\Entity\Report")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="reportid", referencedColumnName="id")
* })
*/
private $reportid;
使用[DoctrineMigrationsBundle](http://symfony.com/ doc/current/bundles/DoctrineMigrationsBundle/index.html) – tttony