2016-10-14 5 views
0

Есть ли способ в LiquiBase к очистить все данные в столбце CharSkill с использованием LiquiBase вне зависимости от содержания таблицы?LiquiBase скрипт для удаления или удалить все данные в столбце

Поскольку я буду развертывать это для нескольких пользователей, содержимое может отличаться, но столбцы постоянны.

Я могу использовать колонку drop, а затем добавить один и тот же столбец, но я хотел бы знать, если это лучший способ.

ДО:

пользователя А таблица символов:

+--------+----------+-----------+ 
| CharID | CharName | CharSkill | 
+--------+----------+-----------+ 
|  1 | Mickey | Run  | 
|  2 | Minnie | Jump  | 
|  3 | Donald | Kick  | 
+--------+----------+-----------+ 

таблицы символов пользователя B:

+--------+----------+-----------+ 
| CharID | CharName | CharSkill | 
+--------+----------+-----------+ 
|  1 | Goofy | Punch  | 
|  2 | Daisy | Laugh  | 
|  3 | Pluto | Sing  | 
|  4 | Stitch | Crawl  | 
+--------+----------+-----------+ 

ПОСЛЕ:

пользователя А таблица символов:

+--------+----------+-----------+ 
| CharID | CharName | CharSkill | 
+--------+----------+-----------+ 
|  1 | Mickey |   | 
|  2 | Minnie |   | 
|  3 | Donald |   | 
+--------+----------+-----------+ 

пользователя B таблица символов:

+--------+----------+-----------+ 
| CharID | CharName | CharSkill | 
+--------+----------+-----------+ 
|  1 | Goofy |   | 
|  2 | Daisy |   | 
|  3 | Pluto |   | 
|  4 | Stitch |   | 
+--------+----------+-----------+ 

ответ

1

Простой <update> без где положение следует сделать:

<changeSet author="loren" id="1"> 
    <update tableName="character"> 
     <column name="charskill"/> 
    </update> 
</changeSet> 

в качестве альтернативы просто использовать <sql> тег:

<changeSet author="loren" id="1"> 
    <sql>update character set charskill=null</sql> 
</changeSet>