Liquibase中是否有一种方法可以使用Liquibase清除charskill列中的所有数据,而不依赖于表的内容?
由于我将把这个部署到多个用户,内容可能会有所不同,但列是不变的。
我可以使用drop column,然后添加相同的列,但我想知道这是否是最好的方法。
之前:
用户A的字符表:
+--------+----------+-----------+
| 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 |
+--------+----------+-----------+
之后:
用户A的字符表:
+--------+----------+-----------+
| CharID | CharName | CharSkill |
+--------+----------+-----------+
| 1 | Mickey | |
| 2 | Minnie | |
| 3 | Donald | |
+--------+----------+-----------+
用户B的字符表:
+--------+----------+-----------+
| CharID | CharName | CharSkill |
+--------+----------+-----------+
| 1 | Goofy | |
| 2 | Daisy | |
| 3 | Pluto | |
| 4 | Stitch | |
+--------+----------+-----------+
最佳答案
一个没有where子句的简单<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>
关于database - Liquibase脚本删除或清除列中的所有数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40041231/