Необходимо убедиться, что предыдущее определение столбца разрешало применение значений NEW, IN PROGRESS и FIXED. Эта задача возвращает нас к трудности запроса текущего набора значений, как было описано ранее.
Базы данных некоторых марок не позволяют изменять определение столбца, если таблица не пустая. Возможно, потребуется выгрузить содержимое таблицы, переопределить таблицу, а затем импортировать сохраненные данные, что делает таблицу недоступной в это время. Данная операция достаточно распространена, поэтому у нее даже есть имя ETL, обозначающее «извлечение, преобразование и загрузку» (ETL — extract, transform and load). Базы данных других марок поддерживают реструктуризацию заполненной таблицы с помощью команд ALTER TABLE, однако выполнение этих изменений по-прежнему отличается сложностью и дороговизной. В рамках проводимой политики изменение метаданных — то есть изменение определения таблиц и столбцов — должно быть нечастым, при этом следует уделять внимание тестированию и обеспечению качества. Если требуется изменить данные с целью добавления или удаления значения из ENUM, тогда надо или пропустить соответствующую проверку, или потратить немало усилий разработчиков программного обеспечения на краткую заметку, чтобы внести изменение. При применении любого из способов эти изменения связаны с риском и дестабилизируют проект.
Файл примера:JI-Flavors/anti/add-enum-value.sql . i
ALTER TABLE Bugs MODIFY COLUMN status
ENUM('NEW, 'IN PROGRESS1 , 'FIXED' , 'DUPLICATE') ;
Опубликовал vovan666
July 23 2013 14:33:58 ·
0 Комментариев ·
4713 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.