Po zmianie oddziały w kontroli źródła, bieganie Update Database cofnąć do poprzedniej migracji EF czasami wyświetla tekst „Przywracanie automatycznej migracji”, jak poniżej:Co oznacza "Przywracanie migracji automatycznej"?
Reverting automatic migration: 201305171619008_DescriptiveNameForMigration.
Reverting code-based migration: 201305162023299_Init.
Skąd Entity Framework ustalić, że migracja powinna przebiegać automatycznie i co robi inaczej?
Oto jak go odtworzyć, zakładając, że masz projekt z kodu pierwszego migracje już Setup:
- przełączenia się do nowego oddziału w kontroli źródła
- dokonać zmiany modelu mappers i dodaj migrację
- Update Database
- powrócić do domyślnego oddziału
- -TargetMigration Update Database: 0 -Force
- Zobacz "Przywracanie migracji automatycznej" w wynikach polecenia Aktualizacja-Baza danych
To jest to, o czym MYŚLĘ, proszę, popraw mnie, jeśli się mylę.
- Update Database wylicza migracje w __MigrationHistory
- znajdzie odpowiednie pliki migracji w projekcie i wywołuje (metoda
- Jeśli odpowiadający plik migracji nie istnieje w dół), a następnie wykonuje to najlepiej -guess o tym, jak cofnąć migrację na podstawie migawce w __MigrationHistory
Myślę, że opisałeś to ładnie. –
Czy metoda "w dół" w kodzie powróciła z powrotem? Następnie miał ścieżkę do odzyskania wersji, która była w tabeli MigrationHistory. rodzaju zgodnie z oczekiwaniami, nie myślisz? –
W porządku, jeśli plik kodu istnieje dla migracji, użyje metody Down(). Zastanawiam się, jak "przywracanie migracji automatycznej" działa, gdy plik kodu nie istnieje dla cofniętej migracji. (Być może jest to właściwe dla nowego pytania SO.) Ty też uważasz, że "przywrócenie migracji automatycznej" oznacza, że generuje on metodę Down() w locie? –