postgresql - 如何使用 Liquibase 强制执行列顺序?

标签 postgresql liquibase

设置:

  1. liquibase 3.3.5
  2. PostgreSQL 9.3
  3. Windows 7 旗舰版

使用

设置 Liquibase.properties 文件
changeLogFile = C://temp/changeset.xml, 

我使用 Liquibase (3.3.5) 创建了一个差异文件。

liquibase.bat diffChangeLog

检查changeset.xml文件显示

-<addColumn tableName="view_dx">
         <column type="int8" name="counter" defaultValueNumeric="0" defaultValue="0"/>
</addColumn

问题是什么时候

 liquibase.bat update

运行时,更改的表与引用表的列顺序不同。这会导致使用 SETOF 返回表行的存储过程出现问题。

在不破坏目标数据库上现有表的情况下,如何使用 Liquibase 强制执行列顺序?

TIA

最佳答案

我不认为您通常可以让 Liquibase 强制执行列排序。您可能需要更改存储过程以使用列名而不是依赖位置,这是一个无论如何都要养成的好习惯。

关于postgresql - 如何使用 Liquibase 强制执行列顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30626607/

相关文章:

testing - 如何在 Gradle Liquibase 插件的 runList 字段中包含多个事件?

java - 有没有办法在 liquibase 中执行变更集之前创建 postgres 数据库

jhipster - 有没有办法在没有 Liquibase 的情况下生成 jHipster 代码?或者禁用Liqibase? JHipster 4.7.0

PostgreSQL 9.5 在 pg_hba 中使用 ident

postgresql - 在子查询返回的每一行上调用一个函数

sql - 如何在数组中检索 INNER JOIN 的输出?

gradle - Liquibase Groovy Accessomg datebaseChangeLog属性

java - 接缝/hibernate : liquibase before JPA startup

postgresql - Postgres : How to convert 16 bytes into 4 bytes by XOR-ing every 4 bytes

php - 使用php在postgresql中选择