Миграции.NET: Установите и переместите несколько баз данных во времени выполнения

Краткое введение: у Меня есть этот сайт Веб-форм ASP.NET с особенностью, что это не имеет только 1 базы данных, это имеет многих. Почему? Поскольку можно создать новые "экземпляры" сайта на лету. Каждый "экземпляр" совместно использует ту же кодовую базу, но имеет ее собственную базу данных. Эти все базы данных имеют ту же схему (структура), но конечно различные данные. Не спрашивайте, 'почему Вы не помещаете все в одну базу данных и используете InstanceId для знания, который является", потому что это - бизнес-вещь политики.

Приложение знает, какой экземпляр требуют из-за URL. Существует одна дополнительная база данных для выполнения этого (я действительно знаю ее строку подключения во время проектирования). Эта база данных имеет только 2 таблицы и URL партнеров к 'экземплярам приложения'. Затем конечно, каждый 'экземпляр приложения' имеет свою связанную строку подключения.

Текущая ситуация: нет того, чтобы это было используемым прямо сейчас помочь нам с заданием поддержания каждой базы данных экземпляра в синхронизации (распространение изменений схемы во всех). Таким образом, мы делаем его вручную, который, конечно, это - общая путаница.

Вопрос: я хотел бы использовать миграцию направляющих способ обработать изменения схемы, предпочтительно migratordotnet, но мог использовать любого другого, если легче установить.

Проблема состоит в том, что migratordotnet нужна строка соединения, чтобы быть, объявляют в proj.build файле, и я не знаю их до времени выполнения.

То, что это было бы ДЕЙСТВИТЕЛЬНО полезно, является некоторым методом, работающим на Application_Start, который применяет последнюю миграцию к каждой базе данных.

Как это могло быть сделано с migratordotnet или кем-либо подобным? Любое другое предложение является одобренным thanksfully.

Спасибо!

9
задан emzero 15 July 2010 в 15:28
поделиться

2 ответа

Ознакомьтесь с Fluent-Migrator .

0
ответ дан 4 December 2019 в 23:38
поделиться

RedGate имеет SDK для сравнения SQL, который можно использовать. Вот пример из практики , который выглядит многообещающим, но я не могу сказать вам ничего из своего опыта, поскольку я не использовал его. Скачайте пробную версию и наденьте шины.

1
ответ дан 4 December 2019 в 23:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: