Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 液化列数据类型_Database_Numeric_Liquibase_Bigint - Fatal编程技术网

Database 液化列数据类型

Database 液化列数据类型,database,numeric,liquibase,bigint,Database,Numeric,Liquibase,Bigint,我有一个现有的生产数据库。我已经用liquibase导出了模式,并创建了一个基本脚本,以便在为新客户安装时使用。 Liquibase将mssql中的所有my id列导出为BIGINT,但实际上它们在数据库中是数字 现在,当我添加一个升级脚本来创建一个新表和一个旧表的foreight键时,我收到一个错误:Column的数据类型与在外键中引用Column的数据类型不同 发生的情况是,只进行升级(并且不会进行干净的安装)的客户将在数据库中具有数字列,并且它将与新的BIGINT列冲突 问题是我应该怎么做

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

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

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


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

模式导出的任务是获取变更日志的起点。liquibase的下一个版本的重点是改进导出支持,但即使这样,您导出的数据库的类型与您的“意思”之间也会有差异——特别是在跨数据库的意义上

通常的用法是调用generateChangeLog,然后通读所创建的内容,并根据需要修改它,以便根据您对数据库的理解确定数据类型等。从那时起,您将执行正常的分解流程,即在需要数据库更改时手动附加到变更日志,然后针对数据库运行修改后的变更日志