首页 > 解决方案 > 当 SQL 语句中有双引号时,Sybase ASE 上的 Flyway 会导致 Invalid column name 错误

问题描述

当 SQL 语句中有双引号时,Sybase ASE 上的 flyway migrate 命令会返回错误。

Migration R__wes.sql failed
---------------------------
SQL State  : 42S22
Error Code : 207
Message    : Invalid column name 'C'.
Statement  : SELECT count(1) from redemptions WHERE redem_type = "C"

我在 linux 上使用 Flyway 6.3.3 并尝试使用 jConnect 和 jTDS 驱动程序。

简单的解决方案是将双引号替换为单引号。但是,我有数百个复杂的存储过程需要更新,以便它们可以与 flyway 一起使用。

我错过了什么可以解决这个问题吗?

谢谢,韦斯利

标签: flywaysap-ase

解决方案


在马克的建议下,我能够通过添加来解决这个问题

set quoted_identifier off在 beforeMigrate.sql(flyway 回调)中禁用 sybase 将字符串视为标识符

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc00801.1510/html/iqrefso/X315903.htm

谢谢你们!


推荐阅读