Просто потому, что уровень совместимости установлен на более низкое значение, чем текущая версия, не запрещает вам использовать более новые функции. Все, что он делает, — это прекращает принудительное удаление функций, чтобы сохранить обратную совместимость существующего кода. Поскольку вы можете использовать новые типы данных и функции в своей базе данных 2008 года, вы не можете напрямую скопировать данные в 2005 год без анализа того, какие новые функции были использованы.
Если вы разрабатываете в 2008 году, а продукт — в 2005, вам нужно немедленно прекратить эту практику. В противном случае вы потратите много времени на использование новых функций, не осознавая этого, пока не попытаетесь отправить в прод.
Изменения в базе данных в целом должны выполняться только с помощью сценариев, поскольку вы не хотите рисковать удалением и воссозданием таблиц с существующими данными. Кроме того, сценарии изменения базы данных должны находиться в системе управления версиями для развертываемой версии, как и любой другой код. Часть внесения изменений в скрипты заключается в том, что скрипт, который вы затем запускаете в prod, был протестирован на dev и QA.
person
HLGEM
schedule
20.06.2011