Я пытаюсь настроить непрерывный поток доставки вокруг нового приложения ASP.NET Core/EF7.EF7 Code first -> SSDT package -> Развертывание производственного сервера
Я хотел бы использовать Code First EF7 для создания и обновления моей локальной базы данных разработчиков, а затем получить изменения в моем проекте базы данных SSDT. Оттуда я планирую использовать MSDeploy с поставщиком dbSqlPackage для обновления моего Azure SQL prod db с любыми изменениями при развертывании webapp в моей Azure App Service. https://msdn.microsoft.com/en-us/library/hh550081(v=vs.103).aspx
Также обратите внимание, что у меня будет какой-то предварительный шаг развертывания, где я проведу некоторое тестирование в системе preprod, прежде чем я без раздумий разблокирую db-обновления для производства.
Мой вопрос - как я локально на своем devbox, автоматизировать шаг, на котором я обновляю проект SSDT, чтобы отразить мою локальную базу данных dev? Я могу выполнить ручное сравнение SSDT с базой данных, в проект SSDT и обновить sql-файлы проекта SSDT. Я смотрел на SQLProject.exe, но из того, что я вижу, он будет создавать dacpac или публиковать в базе данных.
Кто-нибудь знает, как автоматизировать этот шаг?
Я пришел к тому же выводу - в долгосрочной перспективе используйте инструментарий SQLPackage для создания dacpac, а затем проверьте это в Sourcecontrol и не потрудитесь с проектом SSDT. И если есть проблемы при применении DACPAC, вернитесь к EF и исправьте его там в конфигурации или, возможно, в миграции (уродливый). Хотя на данный момент и просто для того, чтобы следить за базой данных, я буду вручную поддерживать промежуточный шаг SSDT. – LarsWA