У меня внезапно возникла проблема, когда схема, отредактированная для таблицы, не была применена на сервере. Обнаружил это, когда написал стартовый скрипт, и он вышел из строя: я изменил большинство полей на null, поэтому скрипт вставляет только значения NOT NULL. Но во время выполнения он выдает сообщение «Ожидаемое значение в столбце, кажется, что оно не равно NULL».
Опять же,
- У меня есть таблица, измененная на NULL для столбцов
- Написал против него скрипт
- попросил «Опубликовать»
- завершается ошибкой, поскольку для схемы таблицы все еще требуется NOT NULL в большинстве столбцов
Я сделал:
- удален bin / obj,
- удалены .refactorlog и .dbml
так что получилась неработающая сборка, так как она требует .refactorlog.
Тогда я DROP ред таблицы. Все еще никаких изменений не обнаружено! Так как таблица не существует, я запустил CREATE вручную и, кажется, какие-то более поздние (впоследствии, впоследствии) изменения были обнаружены.
Итак, вопрос - что я делаю не так? Я думал, что SSDT будет анализировать статический код против целевой схемы. Но, похоже, нет. Я не хочу сталкиваться с такой проблемой внезапно, мне нужна пуленепробиваемая миграция схемы.
Окружающая среда:
- VS 2017 15.6.6
- Sql Server EXPRESS 2014 (12.0.2000)
Найдено только это , но, похоже, это не мой случай (Hovewer, сгенерированные наборы сценариев SET ANSI_NULLS ON ).
Очень признателен за объяснение этого вопроса!