Отказ от ответственности - я новичок в компании, я не имел права голоса в предыдущей базе кодов
У меня есть забавная проблема. У нас есть очень большое веб-приложение с собственной библиотекой базы данных (не использующей EF, Dapper или ... что-либо еще - буквально «катушка» - ваш собственный фреймворк, использующий код) Эта библиотека удаляет все столбцы, которых нет в ее моделях, что, очевидно, является проблемой. Двигаясь вперед, я поручил своей команде разделить любые новые модули на собственные службы, будь то windows служба, веб-API и так далее. Однако из-за объема данных, которые эти модули совместно используют, они все еще используют ту же базу данных, что и веб-приложение. В некоторых случаях модели из нового сервиса добавляются в веб-приложение, чтобы они могли создать для него пользовательский интерфейс.
Вот где это забавно - я только что написал новый сервис. Используя EF Code-first, я построил свои модели, как обычно, и использую миграции. Однако, например, в UAT, часть пользовательского интерфейса уже создала НЕКОТОРЫЕ из моделей, поэтому моя миграция завершается неудачно, так как таблица / столбцы уже существуют, и поэтому не создает другие модели. Это просто полностью останавливает миграцию.
Было бы неплохо, если бы EF смог обнаружить, что вещи уже существуют, и просто оставить их в покое и двигаться дальше, но, похоже, этого не происходит. Мы уже отключили часть старой библиотеки, которая удаляет столбцы, поскольку это вызывало огромную проблему.
Итак, главный вопрос - может ли EF обнаруживать вещи, которые уже существуют, и просто двигаться дальше, или каким будет ваш подход?
(обратите внимание, база данных postgresql)