У меня есть проект базы данных в Visual Studio Team Services Git, и я хочу развернуть его в базе данных на реальном сервере.
(a) Есть ли в профиле публикации настройка для удаления всех объектов и воссоздания?
(б) или есть настройка для создания всего сценария DDL, а не просто нахождение несоответствия схемы? Если вы хотите выполнить это из Visual Studio, я знаю, что в SSMS есть возможность генерировать сценарии для всех объектов.
Хотите провести для всех таблиц, спроков, представлений, а не просто простой пример ниже. Планируйте повторное развертывание и повторное заполнение хранилища данных каждый день.
Пример, скажите это в проекте управления базами данных.
Контроль источника:
create procedure dbo.SelectTestOne
as
select 1
А фактический сервер на локальной базе данных
Расхождение на локальном сервере:
create procedure dbo.SelectTestOne
as
select 2
Скрипт перед развертыванием:
Если я создаю Script.PreDeployment, который удаляет все объекты,
drop procedure dbo.SelectTest
Это Окончательный сценарий автоматической публикации профиля , все равно будет делать изменения, а не создавать заново. Итак, вопрос в том, как мне отбросить все объекты и воссоздать их? (Я знаю, что у Redgate есть такая опция)
drop procedure dbo.SelectTest
GO
GO
PRINT N'Altering [dbo].[SelectTest]...';
GO
ALTER procedure dbo.SelectTest
as
select 1
GO
PRINT N'Update complete.';
GO
Примечание: я не хочу использовать базу данных Always-Recreate, просто хочу удалить все объекты Tables, Sprocs, Views в базе данных. Я не хочу потерять наши данные или перенастроить логины.
Проект базы данных для удаления базы данных перед развертыванием?
Это для автоматического процесса развертывания для devops, мы просто хотим повторно развертывать и заполнять одну и ту же базу данных каждый день в 2 часа ночи.