Как запустить миграцию, где строка подключения находится в базе данных

#c# #entity-framework-6

#c# #entity-framework-6

Вопрос:

В моем приложении есть несколько клиентов, и для каждого клиента мы создали новую базу данных. Итак, для новой разработки, когда нам нужно изменить некоторую структуру таблицы, нам нужно запускать команды миграции для каждой базы данных клиента.

Есть ли какой-либо способ выполнить команду миграции для динамических строк подключения за один раз? Наша строка подключения находится в базе данных.

Заранее спасибо.

Ответ №1:

Я думаю, что невозможно выполнить миграции для нескольких баз данных за один раз. Вы должны вызывать команду миграции для каждой отдельной строки подключения в цикле.

Вы можете либо вызвать это программно с помощью C #, либо создать скрипт Powershell, который выполняется migrate.exe.

Мы используем второй вариант в нашем развертывании, так что миграция базы данных является явным шагом в конвейере выпуска.

Migrate.exe имеет параметр для предоставления строки подключения. Смотрите здесь для получения более подробной информации.