3

私はこれに対する答えを探してインターネット、本、フォーラムを精査しましたが、ここの誰かが助けてくれることを願っています.

教義でエンティティ注釈を使用して、標準の Symfony 2 プロジェクトをセットアップしています。私が抱えている問題は、日時型を含むエンティティが常に移行したいということです。したがって、データベースへの最初の移行後、 docrine:schema:update --dump-sql を再実行できますが、まだこれが表示されます:

ALTER TABLE log CHANGE date date DATETIME NOT NULL;
ALTER TABLE message CHANGE created_on created_on DATETIME NOT NULL, CHANGE updated_on updated_on DATETIME NOT NULL;
ALTER TABLE module CHANGE start_date start_date DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL, CHANGE end_date end_date DATETIME NOT NULL;
ALTER TABLE scheduled_commands CHANGE last_execution last_execution DATETIME NOT NULL;

ここに一日中座って移行を実行し、これを確認しても、同じままです。エンティティには特別なものはありません:

  /**
  * @var \DateTime
  *
  * @ORM\Column(name="start_date", type="datetime")
  */
 private $startDate;

 /**
 * @var \DateTime
 *
 * @ORM\Column(name="end_date", type="datetime")
 */
 private $endDate;

誰かがこれについて何か考えを持っていますか? 私は今、完全に困惑しています:(。

mysql セットアップも最新の 5.6.25 です

移行後の列構造は次のようになります

`start_date` | DATETIME | NOT NULL,
`end_date` | DATETIME | NOT NULL
4

1 に答える 1

0

types.datetimeが正しく設定されていることを確認する必要がありますdoctrine.yaml

于 2020-10-29T08:48:04.430 に答える