Lor*_*ren 2 database liquibase
liquibase 有没有办法在不依赖表的内容的情况下使用liquibase清除CharSkill 列中的所有数据?
由于我将把它部署给多个用户,因此内容可能会有所不同,但列是不变的。
我可以使用 drop column 然后添加相同的列,但我想知道这是否是最好的方法。
前:
用户A的字符表:
+--------+----------+-----------+
| CharID | CharName | CharSkill |
+--------+----------+-----------+
| 1 | Mickey | Run |
| 2 | Minnie | Jump |
| 3 | Donald | Kick |
+--------+----------+-----------+
Run Code Online (Sandbox Code Playgroud)
用户B的字符表:
+--------+----------+-----------+
| CharID | CharName | CharSkill |
+--------+----------+-----------+
| 1 | Goofy | Punch |
| 2 | Daisy | Laugh |
| 3 | Pluto | Sing |
| 4 | Stitch | Crawl |
+--------+----------+-----------+
Run Code Online (Sandbox Code Playgroud)
后:
用户A的字符表:
+--------+----------+-----------+
| CharID | CharName | CharSkill |
+--------+----------+-----------+
| 1 | Mickey | |
| 2 | Minnie | |
| 3 | Donald | |
+--------+----------+-----------+
Run Code Online (Sandbox Code Playgroud)
用户B的字符表:
+--------+----------+-----------+
| CharID | CharName | CharSkill |
+--------+----------+-----------+
| 1 | Goofy | |
| 2 | Daisy | |
| 3 | Pluto | |
| 4 | Stitch | |
+--------+----------+-----------+
Run Code Online (Sandbox Code Playgroud)
一个简单的<update>没有 where 子句应该这样做:
<changeSet author="loren" id="1">
<update tableName="character">
<column name="charskill"/>
</update>
</changeSet>
Run Code Online (Sandbox Code Playgroud)
或者只使用一个<sql>标签:
<changeSet author="loren" id="1">
<sql>update character set charskill=null</sql>
</changeSet>
Run Code Online (Sandbox Code Playgroud)