У меня есть проект ASP.NET MVC 5, который работает локально, и всякий раз, когда мне нужно сдуть БД, я просто открываю на нем новый запрос, изменяю раскрывающееся меню доступной базы данных, чтобы завершить работу, а затем закрою соединение на моем локальном db и запустите запрос "drop database [name]". Затем я создаю проект, перехожу в консоль менеджера пакетов и запускаю "Update-Database". Это, похоже, перестроит новую локальную базу данных и запускает метод seed в моем файле configuration.cs.
Проблема в том, когда мне нужно протестировать вещи в живой среде, чтобы я мог тестировать API и, что лучше, я буду развертывать сайт Azure и прилагаемую Azure DB, что приятно и легко сделать. Я проверяю "Выполнять первые шаги миграции кода" в мастере публикации и большую часть времени, когда он работает, и я могу запускать и отлаживать мою живую версию. Иногда мне нужно сдуть этот db и начать с нуля, но единственный способ, который я действительно нашел, - это войти в портал Azure, удалить базу данных и затем повторно создать его с тем же именем. Для обработки Azure требуется некоторое время, поэтому это медленный цикл тестирования.
Есть ли быстрый способ просто сбросить / reset базу данных Azure SQL в новое, пустое, девственное состояние, а затем повторно опубликовать с помощью "выполнить первые миграции миграции кода", чтобы он заново создавал таблицы и повторно засеять данные?
Я видел некоторые разговоры о создании начальной миграции после создания db, а затем, пытаясь использовать Powershell, сделать какой-то откат к этому начальному состоянию, но мне не повезло получить его работа, и я хочу удалить все данные одновременно. Возможно, я только что получил неправильный синтаксис или не нашел достаточно хорошего учебника. Хотя я могу запустить запрос в Azure DB для "drop database [x]", он буквально убивает экземпляр SQL Azure DB, как вы ожидали, и вам нужно вернуться в портал, чтобы воссоздать его. Иногда это начальное состояние не подходит, поскольку модель с тех пор была обновлена, поэтому это может быть бесполезно.
Я чувствую, что должен быть более простой способ быстрее протестировать изменения в живой среде, так как там есть все эти прекрасные инструменты и ярлыки, предоставленные MS, но они просто бросают мяч здесь для этой фазы разработки или я что-то упускаю