我使用的是Liquibase3.2,正在尝试升级到3.3,我使用的是MySQL5.5。但是,以下类型的更改集升级失败。。。
<changeSet author="me" id="my_changeset">
<addColumn tableName="my_table">
<column name="STUFF_VISIBLE" type="BOOLEAN" defaultValueNumeric="0">
<constraints nullable="false"/>
</column>
</addColumn>
</changeSet>
它失败了,出现了错误
Error: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Invalid default value for 'STUFF_VISIBLE'
有没有办法不必重新调整所有校验和就可以解决问题?这些类型的语句在我的liquibase更改集中出现过很多次。
2条答案
按热度按时间xu3bshqb1#
失败的变更集不应该写入数据库中的databasechangelog表,因此如果您更改了这个特定的变更集,就不需要重新计算校验和。此外,您可以随时尝试回滚特定的变更集,或者只需打开提到的databasechangelog表并手动更新其中的确切记录(例如,删除有关应用变更集的信息:)。顺便问一下:为什么使用defaultvaluenumeric而不是defaultvalueboolean?
u0njafvf2#
对于这样的每一个示例,您可以添加一个
validChecksums
属性,该属性列出了更改前和更改后更改集的校验和。