Doktrin ekstra changeColumns oluşturmak-göçler-fark

1 Cevap php

Yani çalışıyor: Ben farklı yaml şema dosyaları arasında göçler üreten ediyorum:

symfony doktrini: üretmek-göçler-fark

Ve kaynaklanan göçler dosyanın son şema dosyası değişikliği ilave edilmemiştir changeColumn aramaların bir bütün takım var.

Oluşturduğunuz-göçler-diff olursa olsun sizin şema dosyasını değiştirmeden çalıştırmak Örneğin, boş bir yukarı () işlevini almalısınız. Ancak, benim için sonuçları fonksiyon benim veritabanında hemen her tablo için bir changeColumn çağrı vardır.

Yanlış bir şey yapıyor ya da bu bir hata muyum?

1 Cevap

Oluşturmak-göçler-fark iki farklı yaml dosyalarını diff değildir. Aslında modellerini karşılaştırır ve sonra yaml dosya ve farklılıklara dayalı bir göç oluşturur. Eğer YAML ve sınıfları ile senkronize olan bir db başlatırsanız, şema değişiklikleri yapmak için iş akışı olmalıdır:

  1. Yaml dosyasını değiştirme
  2. generate-migrations-diff sizin (değişmedi) modelleri ile mevcut (değişti) YAML diff için. Bu doktrin / göçler dizinine (veya ne olursa olsun migrations_path sizin doktrin config ayarlanır) Bir göçler dosyası oluşturur.
  3. migrate 2. adımda oluşturulan geçiş çalıştırmak ve veritabanı değiştirmek için
  4. generate-models-yaml sizin yaml dosyaya dayalı yeni sınıflar oluşturmak için. Oluşturulan modeller (sizin doktrin config models_path) nereye belirttiğiniz bu gidin.
  5. generate-sql, bir SQL dosyası oluşturmak için. Lütfen doktrin sql_path yapılandırma ayarlanır burada gidecek.