在 liquibase 中是否有一种方法可以在不依赖于表内容的情况下使用 liquibase清除 CharSkill 列中的所有数据?
由于我会将其部署到多个用户,因此内容可能会有所不同,但列是不变的。
我可以使用删除列然后添加相同的列,但我想知道这是否是最好的方法。
之前:
用户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 | |
+--------+----------+-----------+
最佳答案
一个简单的 <update>
没有 where 子句应该这样做:
<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/