Удаление и воссоздание всех объектов в проекте базы данных - PullRequest
0 голосов
/ 27 марта 2019

У меня есть проект базы данных в 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 часа ночи.

...