アプリに新しいバンドルとエンティティを追加しました。User.orm.xml ファイルを作成し、コマンド ラインからエンティティを正常に生成しました。次に、データベースに追加のテーブルを作成したいと思います。
私が実行すると:
php app/console doctrine:schema:update --force
エラーが発生します。それは私に2つの質問を導きます:
1) 新しい User エンティティだけで、1 つのテーブルを作成するための構文は何ですか?
2) 以下のエラーの原因は何ですか。他のormファイルは変更していません。ただし、エンティティに 1 対多の関係を手動で入力しました。関連している可能性があります:
[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)
「report」と「reportcolumn」という 2 つのテーブルが関連付けられています。Entity/reportcolumn.php では、次のように注釈されていますが、最初に db を作成した orm ファイルには反映していませんでした:
/**
* @var \Acme\DataBundle\Entity\Report
*
* @ORM\ManyToOne(targetEntity="Acme\DataBundle\Entity\Report")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="reportid", referencedColumnName="id")
* })
*/
private $reportid;