У меня есть хранимая процедура под названием «populateProcessTypes», который выглядит примерно такВосстанавливающие конфликты на хранимую процедуру, которая изменяет много
Insert Into ProcessTypes(processTypeId, processCode, processName)
Select processTypeId, processCode, processName
From
(
Select 1 processTypeId, 'L_EMP' processCode, 'Load Employees' processName UNION
Select 2 processTypeId, 'L_CC' processCode, 'Load Cost Centres' processName UNION
Select 3 processTypeId, 'L_SUP' processCode, 'Load Supervisors' processName UNION
Select 4 processTypeId, 'R_CHK' processCode, 'Run Validation Checks' processName UNION
Select 5 processTypeId, 'R_CLN' processCode, 'Run Data Checks' processName
)
В связи с увеличением числа разработчиков, создающих новые процессы в их собственной среде Дев мы часто получить конфликты или важные изменения, которые были перезаписаны при слиянии с репозиторием. Например, один разработчик добавит
Select 6 processTypeId, 'R_NEW' processCode, 'Run New Process 1' processName
и другой добавит
Select 6 processTypeId, 'R_OTH' processCode, 'Run Other Process' processName
и другой может переименовать процесс:
Select 2 processTypeId, 'L_CC' processCode, 'Load Cost Centre Hierarchy' processName
Я никогда не был полностью доволен тем, как данные загружался в таблицу ProcessTypes, но не было никаких проблем, когда у нас был только один разработчик, ответственный за это. С помощью современного подхода разработчики в конечном итоге слишком долго проверяют друг друга, что должно быть в базе данных, а что не должно или они просто небрежны, а материал перезаписывается.
Есть ли лучший способ вставить необходимые записи в таблицу ProcessTypes, которая будет разрешаться при меньших конфликтах и перезаписывается?
Одна вещь, о которой я могу думать, это иметь процедуру для каждого типа процесса, которая просто вставляет одну запись, но я уверен, что там есть лучшее решение.
Мы используем SSDT для управления схемой базы данных