Entity Framework database update - Database already exists

0

Witam

Mam problem z aktualizacją bazy w ef core. Miałem awarię PC na którym pracowała aplikacja pod kontrolą net core, udało mi się odzyskać bazę SQL z uszkodzonego sprzętu, która zawiera ogrom danych. Bazę wrzuciłem na nowy sprzęt.

Obecnie próbuję dopisać nową funkcjonalność w aplikacji, która pociąga za sobą zmianę bazy. Dodałem migrację, następnie próbuję zaktualizować bazę poleceniem dotnet ef database update i tu się pojawia problem, otrzymuję komunikat

Database 'moja_baza' already exists. Choose a different database name

Ktoś pomoże zaktualizować już istniejącą bazę ? Nie chcę jej usuwać bo mam w niej ogrom już istniejących i ważnych dla mnie danych.

1

zgaduję że wygenerowany sql / kod najnowszej migracji zawiera fragmenty dot. tworzenia bazy od 0, tak?

a nie zgubiłeś czegoś w tabeli historii migracji lub jej całej?

a może powinieneś stworzyć pustą migrację i ręcznie ją wrzucić do tabelki EF history, aby EF przestał krzyczeć.

1

Wszystko wskazuje na to, że w bazie danych nie masz folderu migracji. Czy masz? To będziemy kombinować dalej

0

Migracje w tabeli __EFMigrationsHistory pokrywają się z migracjami jakie mam w projekcie.
Nie ma właśnie żadnych zmian czy rozbieżności miedzy bazą a projektem.

0

Wykonaj dotnet ef migrations script

zerknij na wygenerowany sql

jeżeli jest nadmiarowy, to wykonaj tylko wywal wszystko poza insertem do EF history, wykonaj tego inserta, dodaj nową migrację i sprawdź czy nadal chce ci tworzyć bazę

jeżeli nadal będzie chciał to robić, to czy na pewno masz dobry conn str?

Polecam też dodać do add migration opcję --verbose i przeanalizować

0

Może to pomoże:
https://entityframeworkcore.com/knowledge-base/50981005/ef-core-migration-error--database--mydatabasename--already-exists--choose-a-different-database-name

Czyli być może chodzi o usera. Ten z connection stringa nie ma na tyle uprawnień by widzieć baze i próbuje ją tworzyć. A serwer odmawia bo taka już istnieje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1