Я пытаюсь использовать SQL Schema Compare в Visual Studio 2013/15, и я столкнулся с проблемой, заключающейся в том, что удаление таблиц из delete удаляет их из обработки вообще.
Проблема заключается в том, что таблицы, которые он пытается удалить, представляют собой таблицы, созданные клиентом, поэтому, когда мы синхронизируем нашу версию с их базами данных, она просит их удалить. Мы не хотим их удалять, но некоторые из их таблиц имеют ограничения на наши, поэтому, когда он пытается CCDR, он терпит неудачу из-за ограничений таблицы. Есть ли способ добавить таблицу, которая будет (воссоздана? Как и все остальные?), Не записывая сценарии для каждого клиента, чтобы сделать то, что SQL Schema Compare уже делает только для этих нескольких таблиц?
Red-Gate SQL Compare делает это как-то, но он скрыт от нас, поэтому не совсем уверен, как это достигается. Диск не удаляет, но не вызывает ошибки на script.
UPDATE:
Опция "Ограничения кавычки не в источнике" не работает корректно. Это действительно снижает некоторые из них, однако есть и другие, что он просто не оставляет ограничений. В инструменте red-gate, когда мы сравнивали, я нашел, как получить SQL от него, и их продукт не говорит, что таблица должна быть обновлена вообще, в то время как Visual Studio делает. Они, похоже, работают почти одинаково, но неудачные таблицы - это те, которые не должны обновляться вообще (см. Ниже)
Обновление 2:
Другая проблема, которую я обнаружил, - "Игнорировать сортировку столбцов" также не работает корректно, так как таблицы, которые не должны быть сброшены, говорят, что их нужно обновлять, даже если это только порядок изменения столбца, а не фактический столбца или данных, что заставляет это чувствовать себя больше как отчет об ошибке, чем что-либо.