Liquibase 使用西里尔字母符号的相同文件上的不同液化校验和

Liquibase 使用西里尔字母符号的相同文件上的不同液化校验和,liquibase,Liquibase,我使用liquibase进行迁移,并且有带有西里尔语注释的sql文件,例如example.sql: --liquibase formatted sql --changeset user:id1 create table example ( id varchar(100) primary key ); -- cyryllic comment here comment on table kafka_cluster is 'Коммментарий к таблице

我使用liquibase进行迁移,并且有带有西里尔语注释的sql文件,例如example.sql:

--liquibase formatted sql

--changeset user:id1
create table example
(
    id            varchar(100) primary key
);

-- cyryllic comment here
comment on table kafka_cluster is 'Коммментарий к таблице.';
我的变更日志是yaml文件,类似于:

databaseChangeLog:
  - include:
      # comment
      file: db/changelog/1.0.0/schema/example.sql
当我在不同的操作系统(我的mac和linux服务器)上运行应用程序时,我总是得到相同文件的不同校验和

液化版本:

    compile "org.liquibase:liquibase-core:4.3.1"
我不知道为什么会这样,文件是一样的。所有文件都在UTF-8字符集中

我的问题的答案之一是将所有文件都放在带有BOM的UTF-8中。 但这对我来说并不好——确保所有sql文件都带有BOM表

另一个解决方案是从yaml迁移到xml

也许有更简单的解决办法


Thanx.

如果Linux是一个环境,而您只是使用mac进行开发,那么您可以评估Liquibase docker,以使Liquibase校验和的创建都在*nix中。是的,我可以,但为什么会有不同的校验和?我不是专家,但我相信校验和机制是不同的,或者在用git同步文件时文件格式会改变?这很奇怪,因为当我们在liquibase中重写从YAML到XML格式的迁移时,一切都没问题。