2009-11-11 4 views
0

Я добавляю столбец типа tinyint и устанавливаю, чтобы не допускать нули в таблице и генерировать сценарии изменений. В настоящее время таблица содержит данные. Сценарий имеет код, который создает временную таблицу и вставляет данные, находящиеся в текущей таблице. Затем он удаляет старую таблицу и переименовывает эту таблицу тем с тем же именем, что и исходная таблица. Все хорошо и хорошо. Мой вопрос: почему, если я делаю то же самое с другой таблицей (то же поле, но с другой таблицей), сценарий сгенерации изменений не включает этот новый код вставки таблицы?Непоследовательный скрипт смены сценариев

Любые советы были бы высоко оценены!

ответ

2

Если таблица не содержит данных, нет необходимости перестроить таблицу. По сути, Studio Management «играет в безопасности» за кулисами, создавая сценарий таким образом, если он думает, что он не может этого сделать, просто изменив таблицу. По моему опыту, он часто делает это, когда это действительно не нужно, однако есть исключения ... например, если вы добавили свой столбец не на «конец» таблицы. Вместо того, чтобы вносить изменения в пользовательский интерфейс и создавать скрипты, я рекомендую ознакомиться с командой ALTER TABLE. Восстановление таблицы таким образом может быть катастрофическим в производственной системе и, как правило, можно избежать.