私は古いプロジェクトでsymfony(2.6.9)とdoctrineを使用しています。私がここで働き始めると、マイグレーションの一部が実行され、その後履歴のために削除されたことが分かります。だから私は現在の生産データベースの状態を複製することはできません。それで、本番環境からデータベースバックアップを作成し、私の地元の環境にインストールしてください。そして、私はこのクエリを実行するとエラーが出るsymfony.Iと新しいマイグレーションを実行しようとすると:Doctrineの移行でエラーが発生しました
'ALTER TABLE video_en ADD CONSTRAINT FK_65A1A65C1B53C8FE FOREIGN KEY (portuguese_id) REFERENCES video_pt (id) ON DELETE SET NULL'
私はこのエラーを取得する:
SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '0000-00-00 00:00:00' for column 'publication_date' at row 1
私は問題が関連していることを考えますデータベース内の古いデータ。したがって、私は本番環境で移行を実行し、すべてのデータを保持したいと考えています。
私はきれいな環境で移行を実行した場合、それを知っておくことをお勧めします。それは働いています(しかし、私が最初の段落で書いたように、プロダクションではコードにないいくつかの移行が実行されます)。
あなたは私のアイデアを与えるので、私は正しいものとして設定されていますが、問題は、私はあなたの提案のクエリを実行した場合、私は私が得る意味存続します私はこの質問を実行することにしました。私はこのクエリを実行することにしました。このクエリを実行することにしました。 UPDATE video_en SET publication_date = "1970-01-01" WHERE publication_date <"1970 -01-01 これで移行を実行できます。 –
あなたの所見を反映するように更新された回答。時間を0に設定できるはずですが、 where句について書いてください。それは決して私が持っていたように働いたことはありません。ありがとう、そして幸せなコーディング! –