0

アプリに新しいバンドルとエンティティを追加しました。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;
4

1 に答える 1