SORU
10 AĞUSTOS 2012, Cuma


EF Göçler: geri alma son uygulanan geçiş?

Bu çok yaygın bir görev gibi görünüyor, ama bunu yapmak için kolay bir yol bulamıyorum.

En son uygulanan geçiş geri almak istiyorum. Basit bir komut gibi beklerdim

PM> Update-Database -TargetMigration:"-1"

Bunun yerine, aklıma gelen tek şey:

PM> Get-Migrations

Retrieving migrations that have been applied to the target database.
201208012131302_Add-SystemCategory
201207311827468_CategoryIdIsLong
201207232247409_AutomaticMigration
201207211340509_AutomaticMigration
201207200025294_InitialCreate

PM> Update-Database -TargetMigration:"CategoryIdIsLong"

(En azından sadece adı, zaman damgası,...) atlama kullanabilirsiniz

Daha kolay bir yolu var mı?

CEVAP
21 Mayıs 2014, ÇARŞAMBA


Bu konuya biraz açıklık eklemek istiyorum:

Update-Database -TargetMigration:"name_of_migration"

Yukarıda ne yaptığını göç belirtilen kaldı KADAR tüm göçler geri almak istediğini söylüyor. Böylece, eğer kullandığınız AL-GÖÇLER ve bulduğunuz var A, B, C, D, E, sonra kullanarak bu komut geri alma E ve D için C:

Update-Database -TargetMigration:"C"

Herkesin aksine açıklama olmadıkça da, bir sıra değeri ve kısa vadeli Hedef anahtarını kullanabilirsiniz fark ettim (bu nedenle, -Hedef-TargetMigration) aynıdır. Geri almak için tüm göçler istiyorum ve yeniden başlamak, kullanabilirsiniz:

update-database -target:0

0, yukarıda, geri alma hatta İLK göç--sana bir şey yapamaz eğer kullandığınız yukarıdaki sözdizimi gerektirir adının hedef göç (adı 0 geçiş yok önce bir geçiş uygulanır!). Bu durumda, (sıralı) 0 değerini kullanın. Aynı şekilde, eğer uygulanan göçler A, B, C, D ve E (bu sırada), sonra sıra 1 olmalıdır bakın, sıra 2 olmalıdır başvurmak için B, ve benzeri. B işlemi için de kullanabilirsiniz:

Update-Database -TargetMigration:"B"

ya

Update-Database -TargetMigration:2

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • kndx

    kndx

    11 Mart 2006
  • Press Start

    Press Start

    4 HAZİRAN 2006
  • The Amazing Atheist

    The Amazing

    20 Kasım 2006