使用Liquibase在PostgreSQL中创建视图:此前正常现每次执行失败
使用Liquibase在PostgreSQL中创建视图:此前正常现每次执行失败
看起来你碰到了Liquibase创建PostgreSQL视图的棘手问题——之前运行都正常,现在每次执行都失败。先看看你提供的视图定义代码:
SELECT DISTINCT d.comic_book_id as comic_book_id, d.comic_detail_id as comic_detail_id, d.archive_type as archive_type, d.comic_state as comic_state, CASE WHEN EXISTS(SELECT * FROM comic_metadata_sources s
从你给出的代码片段来看,这段SQL的CASE语句明显没有写完,这大概率是当前执行失败的直接原因之一。除此之外,你可以从这几个方向排查问题:
- 检查Liquibase变更集配置:比如是否设置了
runAlways="true"导致每次执行都尝试创建已存在的视图?如果是这种情况,可以给变更集加上preConditions判断视图是否存在,仅在不存在时执行创建操作。 - 确认数据库权限:当前执行Liquibase的数据库用户权限是否有变化?比如是否丢失了创建视图、读取关联表的权限?
- 查看Liquibase执行日志:日志里会给出具体的错误信息,比如语法冲突、对象重复定义等,能帮你精准定位问题根源。
备注:内容来源于stack exchange,提问作者mcpierce
相关产品推荐
相关产品推荐

