Liquibase列数据类型混乱



我有一个生产中的现有数据库。我已经用liquibase导出了模式,并创建了一个基本脚本,用于为新客户安装。Liquibase将我在mssql中的所有id列导出为BIGINT,但实际上它们在数据库中是NUMERIC。

现在,当我添加一个升级脚本来创建一个新表和一个外键到一个旧表时,我收到一个错误:列与外键中引用列的数据类型不同。

发生的情况是,只升级(不会进行干净安装)的客户将在数据库中有NUMERIC列,并且它将和新的BIGINT列冲突。

问题是我应该怎么做,因为对于每个数据库类型,它也是不同的类型。我丢失了

模式导出的工作是获取changeLog的起点。liquibase的下一个版本专注于改进导出支持,但即使这样,您导出的数据库的类型和您的"意思"之间也会有差异,尤其是在跨数据库的意义上。

通常的用法是调用generateChangeLog,然后通读创建的内容,并根据需要对其进行修改,以根据您对数据库的理解来修复数据类型等。从那时起,您可以执行正常的liquibase流程,即在需要数据库更改时手动附加到变更日志,然后对数据库运行修改后的变更日志。

相关内容

  • 没有找到相关文章

最新更新