У меня есть процесс сборки, когда база данных генерируется из файла журнала изменений в библиотеки (который является файлом XML).Он генерирует сценарий SQL для базы данных SQL Server и сценарий SQL для базы данных Oracle.Теперь CMD в процессе сборки имеет проблему с ≤
и ≥
, а также SQL Server имеет проблему с ≤
и ≥
Например, это утверждение в моем файле журнала изменений в liquibase
<update tableName="MAI_THRESHOLD_DEF">
<column name="MAI_RSLT_NAME" value="PTB Ratio"/>
<column name="CURRENT_UNIT" value="Ratio (0 ≤ Decimal ≤ 1)"/>
<where>MAI_RSLT_REF = 'PT' AND MAI_ID = '5023'</where>
</update>
В cmd моего процесса сборки это выглядит так: Ratio (0 ≤ Decimal ≤ 1)
.Несмотря на это в моем сценарии SQL, который создается в процессе сборки, он был сгенерирован правильно:
UPDATE [MAI_THRESHOLD_DEF]
SET [CURRENT_UNIT] = N'Ratio (0 ≤ Decimal ≤ 1)', [MAI_RSLT_NAME] = 'PTB Ratio'
WHERE MAI_RSLT_REF = 'PT' AND MAI_ID = '5023'
GO
Но поскольку процесс сборки уже строит базу данных через CMD, она была обновлена до Ratio (0 ≤ Decimal ≤ 1)
в моей базе данных.Теперь, даже если я уклонюсь от этого, мне все равно придется избежать его для SQL Server, поскольку ≤
и ≥
также необходимо экранировать другим способом для SQL Server, или он будет обновлен до Ratio (0 = Decimal = 1)
вместо Ratio (0 ≤ Decimal ≤ 1)
.
Есть ли какой-нибудь способ избежать и CMD, и SQL Server, который уже есть в моем XML-файле журнала изменений в liquibase?Извините, если я объяснил это сложным способом, но я не мог понять, как описать это проще.