Число с плавающей запятой Liquibase, управляющее настройкой десятичного разделителя - PullRequest
0 голосов
/ 03 октября 2019

Я использую h2 в памяти дБ для тестирования интеграции и Oracle db для производства.

В базе данных используются файлы наборов изменений Liquibase, которые создают таблицы и помещают данные.

Когда я это делаюнекоторые вставки, которые включают число с плавающей точкой, у меня есть следующая проблема:

  • H2 в памяти дБ использовать запятую для десятичного разделителя (например, 1,2)
  • Экземпляр Oracle установлен сNLS_NUMERIC_CHARACTERS '.,' Таким образом, число с плавающей запятой представлено точечным символом в виде десятичного разделителя (ex.1.2)

Как я могу создать уникальный файл набора изменений, который управляет этими настройками и правильно помещает данные в эти двабаза данных?

Пример XML-файла:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<databaseChangeLog
        xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">

    <changeSet id="10">
        <insert tableName="myTab">
            <column name="id" value="1"/>
            <!-- works in h2 but not in Oracle instance that require 1,2-->
            <column name="value" value="1.2"/>
        </insert>
    </changeSet id="10">
</databaseChangeLog>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...