CI с Visual Studio Database Project с развертыванием временных таблиц с помощью dacpac завершается неудачно в конвейере выпуска - PullRequest
1 голос
/ 08 октября 2019

У нас есть проект базы данных Visual Studio 2017 с временными таблицами. Развертывание с помощью dacpac завершается неудачно в конвейере выпуска, и следующая ошибка [_tableX] блокируется зависимостью [dbo]. [_ TableXHistory] в целевой базе данных. \ R \ nОшибка SQL72031: Это развертывание может столкнуться с ошибками во время выполнения, поскольку изменения в [dbo]. [_ tableX] заблокированы зависимостью [dbo]. [_ tableX] в целевой базе данных. Microsoft.PowerShell.Commands.WriteErrorException: сбой развертывания на одном или нескольких компьютерах. System.Exception: публикация в базе данных «OMAC» на сервере «localhost».

Если поместить все изменения временной таблицы в сценарий после развертывания, мы получим ошибку «Строки были обнаружены. Обновление схемы прекращается, потому что может произойти потеря данных ». Это связано с тем, что при последующем развертывании, когда он не видит столбцы времени временной таблицы ValidFrom, ValidTo в сценарии создания таблицы, он пытается отбросить эти столбцы, что приводит к указанной выше ошибке. .

Для обходного пути нам пришлось явно создать таблицу истории. Однако это станет проблемой технического обслуживания в будущем, поскольку у нас есть несколько временных таблиц, и мы не хотим вносить изменения в DML как в базовую, так и в хронологическую таблицу.

Любые предложения или любая дополнительная информация высоко ценится.

...