2017-06-28 5 views
1

フィールドが$usedMBのエンティティがあります。私はDoctrine2をORMとして使用し、DoctrineMigrationsBundleをDBの移行に使用しています。DoctrineMigrationsBundleは毎回同じマイグレーションを生成します

/** 
* @ORM\Entity 
*/ 
class DeviceStatus 
{ 
    ... 

    /** 
    * @ORM\Column(type="float", nullable=true, options={"unsigned":true}) 
    */ 
    private $usedMB; 

    ... 
} 

私はコマンドphp bin/console doctrine:migrations:diffを実行した場合、私は、移行ファイルに次の行を取得:その後 ALTER TABLE device_status CHANGE used_mb used_mb DOUBLE PRECISION DEFAULT NULL を、私はコマンドphp bin/console doctrine:migrations:migrateを実行し、私は正常に実行され、移行メッセージが表示されます。

しかし、問題がある - 私は再びphp bin/console doctrine:migrations:diffを実行した場合、私は、移行ファイル内の同じ行を得る: - なしコードの変更を実行するコマンドの間で行われていないだけ指摘して ALTER TABLE device_status CHANGE used_mb used_mb DOUBLE PRECISION DEFAULT NULL

その後、私はコマンドphp bin/consoleを実行します。doctrine:migrations:migrate、そして再び、マイグレーションが正常に実行されたというメッセージが表示されます。 それは永遠に続く可能性があります。

これがどのように見えるか、具体的な分野DBである:たびに生成同じ移行である理由 db field

は、いくつかの私に説明していただけますか?

+1

でリリースされなければならない '教義ん。スキーマ:同じクエリを返す--dump'更新を? –

+0

はい、そうです。それはまったく同じ結果をもたらします。 –

+0

'clear:cache --env = dev'を試してください –

答えて

1

問題は、doctrine自体の「符号なし」オプションを処理するバグです。

現在レポジトリには、このトピックのためのオープンなバグレポートをtheresの: https://github.com/doctrine/dbal/issues/2380

修正がV2.6

関連する問題