我已經爲我的應用程序添加了一個新的包和實體。我創建了一個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